--------------------------對簡單list的排序----------------------------------
List<Integer> list = new ArrayList<>(); list.add(1); list.add(2); list.add(3); list.add(4); Collections.sort(list)
排序前是:
1
2
3
3
排序后:
4
3
2
1
------------------------------------------------------------------
----------------------------對list封裝Map里面的某個值進行排序-------------------------------------
List<Map<String,Object>> mapList = new ArrayList<Map<String,Object>>(); Collections.sort(mapList,new Comparator<Map<String,Object>>() { //降序排序 public int compare(Map<String, Object> o1, Map<String, Object> o2) { double s = Double.parseDouble(o1.get("dist").toString()); //由於從map里面取出來的值為Object類型,無法直接轉換為Integer類型,需要轉換為double double d = Double.parseDouble(o2.get("dist").toString()); Double D1 = new Double(s); //由於double類型無法直接轉換為Integer類型,需要用封裝類先封裝double Double D2 = new Double(d); Integer s1 = D1.intValue(); //使用Double的intValue方法轉換為Integer類型 Integer s2 = D2.intValue(); //使用Entry類中的值來比較大小 return s1.compareTo(s2); //s1在前面是升序,s1在后面是降序 // //使用Entry類中的鍵來比較大小 // return o2.getKey().compareTo(o1.getKey()); } });
才疏學淺,總結得不好,希望能夠幫上需要的人。