--------------------------对简单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());
}
});
才疏学浅,总结得不好,希望能够帮上需要的人。
您可能感兴趣的文章:
如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!
网友评论