JDK1.8 list 排序

首先用泛型为String的list和泛型为AuditBO对象的list进行排序

 List<String> list = new ArrayList<>();
        list.add("2");
        list.add("1");
        list.add("4");
 List<AuditBO> AuditBOS = new ArrayList<>();

按照JDK1.8版本以下的方式来给list进行排序:

  Collections.sort(list, new Comparator<String>() {
       @Override
       public int compare(String s1, String s2) {
           return s1.compareTo(s2);
       }
  });
  Collections.sort(AuditBOS, new Comparator<AuditBO>() {
       @Override
       public int compare(AuditBO o1, AuditBO o2) {
           return o1.getAuditTime().compareTo(o2.getAuditTime());
       }
  });

 以上方法在idea中会出现提示我们可以使用lambda替换 new Comparator<String>(){} ,提示可以直接使用list.sort替代Collections.sort,改写后:

list.sort((String s1, String s2) -> s1.compareTo(s2));
AuditBOS.sort((AuditBO b1,Audit b2) -> b1.getAuditTime().compareTo(b2.getAuditTime()));

 随即又出现提示:建议我们使用Comparator.comparing

 改写后: 

list.sort(Comparator.comparing(String::valueOf));
AuditBOS.sort(Comparator.comparing(AuditBO::getAuditTime));// 泛型为AuditBO的对象list

Comparator.comparing的默认排序是正序排列 例如list输出为:1 ,2 ,4

需要逆序排列只需要增加.reversed()

list.sort(Comparator.comparing(String::valueOf).reversed());
AuditBOS.sort(Comparator.comparing(AuditBO::getAuditTime).reversed());

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值