Comparator比较器

//比较int类型
list.sort(Comparator.comparingInt(String::length)
                .thenComparing(String::toLowerCase, Comparator.reverseOrder()));
        System.out.println(list);
list.sort(Comparator.comparingInt(String::length).reversed()
                .thenComparing(Comparator.comparing(String::toLowerCase, Comparator.reverseOrder())));
//比较时间等,stream流的sorted比较方法,里面传比较器就能实现比较
list.sorted(Comparator.comparing(Entity::getSort, Comparator.reverseOrder()))

//万能比较方法
    public void testCompareTo(){
        BigDecimal fullAmountDiscount = new BigDecimal("66.22");
        /**
         * param1;传的参数
         * param2:要比较的参数
         * param3:比较器
         * 记法: 最后的0不变,比较符号往前移,(param1 > param2)
         *                                 (param1 < param2)
         */
            Boolean dZero = Objects.compare(fullAmountDiscount, BigDecimal.ZERO, BigDecimal::compareTo) > 0;
            Boolean xTen = Objects.compare(fullAmountDiscount, BigDecimal.TEN, BigDecimal::compareTo) < 0;
            if (dZero && xTen){
                System.out.println("比较的值合法的进来"+fullAmountDiscount);
            }
    }
    //排序后再排序
    List<GoodsSkuDTO> collect = item.getGoodsSkus().stream().sorted(Comparator.comparing(GoodsSkuDTO::getSerialNumber, Comparator.reverseOrder()).thenComparing(GoodsSkuDTO::getCreateTime,Comparator.reverseOrder())).collect(Collectors.toList());
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值