程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> list集合比較-Android 集合之間的比較以及排序算法相關問題

list集合比較-Android 集合之間的比較以及排序算法相關問題

編輯:編程綜合問答
Android 集合之間的比較以及排序算法相關問題

下面這個方法是用來比較的,相同的對象就放到同一個集合中,不相同的就新建一個。現在下面我寫的判斷那裡每次比較都只能跟上一個進行比較,並不是和全部進行比較。所以想請教一下前輩們還有什麼更好的辦法嗎?排序嗎?怎麼寫?

    /**
     * 按照地點進行分組
     * @param list
     * @return
     */
    public static List<GroupEntity> setAddressOrder(Context context, List<ParentEntity> list) {
        if (list == null || list.isEmpty()) {
            return null;
        }
        List<GroupEntity> entlist = new ArrayList<GroupEntity>();
        GroupEntity group = null;//用來存儲數據
        for (int i = 0; i < list.size(); i++) {
            ParentEntity entity = list.get(i);
            if (group == null
                    || (1 < Math.abs(group.latitude - entity.getLatitude()))
                    && (1 < Math.abs(group.longitude - entity.getLongitude()))) {
                group = new GroupEntity();
                group.latitude = entity.getLatitude();
                group.longitude = entity.getLongitude();
                entlist.add(group);
            }
            group.list.add(entity);
        }
        return entlist;
    }

最佳回答:


你可以先使用Hash>來實現,不過需要重寫ParentEntity的hasCode方法(因為你的判斷是經緯度的范圍)。最後把HashMap轉換成你需要的數據結構

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved