java8的stream流常用用法sorted

持续更新~~,用法案例,项目开发中方便寻找

每到需要用的时候,翻半天才到案例,都统计在此,方便寻找

一. 排序 stream().sorted()

 public void setVarroleList(List<VarroleEntity> varroleList) {
        if (varroleList != null && varroleList.size() > 0) {
            varroleList = varroleList.stream().sorted(Comparator.comparing(VarroleEntity::getSeq)).collect(Collectors.toList());
        }


        this.varroleList = varroleList;
    }

1. 缺省排序字段: 以类属性一升序排序

list.stream().sorted(Comparator.comparing(::属性一));

2. 带排序字段: 以类属性一升序排序,推荐Comparator.reverseOrder()

2.1.升序:不加参数即可
2.2.降序:reversed()和Comparator.reverseOrder(),有区别:

reversed():先排序(默认升序),然后降序;
Comparator.reverseOrder():直接降序排序;

2.3.案例:注意两种写法
//先以属性一升序,结果进行属性一降序
list.stream().sorted(Comparator.comparing(::属性一).reversed());
//以属性一降序
list.stream().sorted(Comparator.comparing(::属性一,Comparator.reverseOrder()));

3. 多属性排序,降序都以Comparator.reverseOrder()为例


//属性一升序,属性二降序
list.stream().sorted(Comparator.comparing(::属性一).thenComparing(::属性二,Comparator.reverseOrder()));


//属性一降序,属性二升序
list.stream().sorted(Comparator.comparing(::属性一,Comparator.reverseOrder()).thenComparing(::属性二));


  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值