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

--------------------------对简单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());
            }
        });

 



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

转载于:https://www.cnblogs.com/chenchengxuyuan/p/10497120.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值