--------------------------对简单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()); } });
才疏学浅,总结得不好,希望能够帮上需要的人。