当前位置: 移动技术网 > IT编程>开发语言>Java > java8的新特性,Collections.sort(排序的List集合)的使用,对list封装Map里面的某个值进行排序

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

2019年03月09日  | 移动技术网IT编程  | 我要评论
对简单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 对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());
}
});


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

如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网