Java8collection.sort_java8的新特性,Collections.sort(排序的List集合)的使用,对list封装Map里面的某个值进行排序...

--------------------------对简单list的排序----------------------------------

List 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> mapList = new ArrayList>();

Collections.sort(mapList,new Comparator>() {

//降序排序

public int compare(Map o1, Map 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());

}

});

才疏学浅,总结得不好,希望能够帮上需要的人。