java | java的sorted 的正序和倒叙怎么写?

sorted() 默认是正序排序(即从小到大或从A到Z的顺序)。如果你想要倒序排序(即从大到小或从Z到A的顺序),可以使用 Comparator.reverseOrder()Comparator.reversed() 方法。

正序与倒序排序的示例

1. 正序排序(默认)

正序排序是 Stream API 中 sorted() 的默认行为:

plans = plans.stream() .sorted(Comparator.comparing(plan -> 
Integer.parseInt(plan.getCurTerm()))) 
.collect(Collectors.toList());
2. 倒序排序

要实现倒序排序,可以使用 reversed() 方法:

        plans = plans.stream()
                .sorted(Comparator.comparing((PingankjRepaymentPlan plan) -> 
Integer.parseInt(plan.getCurTerm())).reversed())
                .collect(Collectors.toList());

结合 thenComparing 的倒序排序

如果你需要在主排序条件倒序的情况下,还需要次排序条件正序或倒序,可以这样写:

plans = plans.stream() .sorted(Comparator.comparing(plan -> 
Integer.parseInt(plan.getCurTerm())).reversed() 
.thenComparing(PingankjRepaymentPlan::getModifyTime)) // 次排序条件保持正序 
.collect(Collectors.toList());

如果你想次排序条件也倒序,可以在 thenComparing 后面加 .reversed()

        plans = plans.stream()
                .sorted(Comparator.comparing((PingankjRepaymentPlan plan) -> 
Integer.parseInt(plan.getCurTerm())).reversed()
                        .thenComparing(PingankjRepaymentPlan::getModifyTime).reversed())
                .collect(Collectors.toList());

总结

  • 正序排序Comparator.comparing(...)
  • 倒序排序Comparator.comparing(...).reversed()
  • 次排序条件的倒序thenComparing(...).reversed()
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值