List.Stream(有发现会持续更新)

之前对List.Stream这个方法一直不怎么了解,都是在网上随便找一个方法就用了,后来觉得这样太不专业了,于是乎就对List.Stream方法做了一些整理,笔记如下:

1、filter:过滤流中的某些元素

方法案例:List<Project> listT1 = list.stream().filter(i->"1".equals(i.getId())).collect(Collectors.toList());

备注解读:
①Project是一个实体类;
②list是Project的一个集合;
③.stream()是把list转化成一个流;
④.filter(i->"1".equals(i.getId())) i是list的一个元素,后面的表达式时过滤条件;
⑤.collect(Collectors.toList()) 把得到的数据转化回list;

2、limit:获取前n个元素

方法案例:List<String> listT2 = list.stream().map(Project::getId).limit(3).collect(Collectors.toList());

备注解读:
①list是Project的一个集合;
②.map(Project::getId) 将List<Project>转化成list<String>,其中String为Project中的id字段
③.limit(3) 只要前三个元素
④.collect(Collectors.toList()) 把得到的数据转化回list;

3、skip:跳过元素,配合limit可以视线分页

等待ing~~~


4、distinct:去重

方法案例1:List<String> listT3 = list.stream().distinct().collect(Collectors.toList());
备注解读1:这个没什么好备注的,就是将List<String>中的相同元素只保留一个


另外说一下:如果想要按照实体类进行去重,这个就不能直接用distinct了,这里我暂时先记录一个方法
方法案例2:List<ProjectBasicsInformation> listT3 = lsitT.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(ProjectBasicsInformation::getCityName))), ArrayList::new));
备注解读2:这个方法我只是尝试了有效,但具体还没去研究,等空下来的在继续

5、sorted:排序

等待ing~~~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值