当前位置:   article > 正文

List中用Stream,filter代替for循环_循环将list中的id添加到数组中 stream filter

循环将list中的id添加到数组中 stream filter

首先创建一个Student类

  1. public Class Student{
  2. private Long id;
  3. private String name;
  4. .....
  5. ....省略get和set方法
  6. }

在List<Student>中查找name为ZhangSan的对象Strudent

在Java8中我们可以这样操作

1.查找集合中的第一个对象

 Optional<A> firstA= AList.stream() .filter(a -> "hanmeimei".equals(a.getUserName())) .findFirst();

关于Optional,java API中给了解释。

A container object which may or may not contain a non-null value. If a value is present, isPresent() will return true and get() will return the value.

2.如果想返回集合

 List<A> firstA= AList.stream() .filter(a -> "hanmeimei".equals(a.getUserName())) .collect(Collectors.toList());

3.抽取对象中所有id的集合

List<Long> idList = AList.stream.map(A::getId).collect(Collectors.toList());

4.去重

List temp =list.distinct().collect(Collectors.toList());

是不是很方便呦!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小舞很执着/article/detail/752545
推荐阅读
相关标签
  

闽ICP备14008679号