java8的新特性,Collections.sort(排序的List集合)的使用,对list封装Map里面的某个值进行排序
程序员文章站
2022-07-01 23:09:01
对简单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 对li ......
--------------------------对简单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());
}
});
才疏学浅,总结得不好,希望能够帮上需要的人。
上一篇: #5 Python面向对象(四)
下一篇: 周瑜和郭嘉有何功绩能受到后世追捧?