stream流

stream流的中的筛选排序与截取


List<User> listUser = new ArrayList<>();
        listUser.add(new User().setId(1).setName("张三").setAge(18));
        listUser.add(new User().setId(2).setName("李四").setAge(25));
        listUser.add(new User().setId(3).setName("王五").setAge(25));
        listUser.add(new User().setId(3).setName("马六").setAge(31));

建立上述的实体作为测试实力使用

stream流的排序

listUser.stream().sorted(Comparator.comparing(User::getName)).collect(Collectors.toList()); 
## 在上述方法中也可以通过reversed()来取的逆排序
listUser.stream().sorted(Comparator.comparing(User::getName)。reversed()).collect(Collectors.toList()); 

stream流的筛选

//在stream使用筛选可以排除其中的无用数据并且速度更快
//在这里使用的是一个并行的parallelStream流 ,它可以让运算更快,但是他会影响流中数据的顺序
listUser.parallelStream().filter(x->Objects.nonNull(x.getId())).collect(Collectors.toList()); 

stream流的截取

//stream中的skip提供了一个操作忽略前x的数据
listUser.stream().skip(x).collect(Collectors.toList()); 
//limit则是保留x个位数的数据数据
listUser.stream().limit(x).collect(Collectors.toList());
//在实际的应用中出出现使用表中外部统计作为筛选条件的情况,这种情况下也可以使用这个方法来作为分页使用
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值