筛选,是按照一定的规则校验流中的元素,将符合条件的元素提取到新的流中的操作。

「案例一:筛选出Integer集合中大于7的元素,并打印出来」

public class StreamTest {public static void main(String[] args) {List<Integer> list = Arrays.asList(6, 7, 3, 8, 1, 2, 9);Stream<Integer> stream = list.stream();stream.filter(x -> x > 7).forEach(System.out::println);}
}

「案例二:筛选员工中工资高于8000的人,并形成新的集合。」 形成新集合依赖collect(收集),后文有详细介绍。

public class StreamTest {public static void main(String[] args) {List<Person> personList = new ArrayList<Person>();personList.add(new Person("Tom", 8900, 23, "male", "New York"));personList.add(new Person("Jack", 7000, 25, "male", "Washington"));personList.add(new Person("Lily", 7800, 21, "female", "Washington"));personList.add(new Person("Anni", 8200, 24, "female", "New York"));personList.add(new Person("Owen", 9500, 25, "male", "New York"));personList.add(new Person("Alisa", 7900, 26, "female", "New York"));List<String> fiterList = personList.stream().filter(x -> x.getSalary() > 8000).map(Person::getName).collect(Collectors.toList());System.out.print("高于8000的员工姓名:" + fiterList);}
}

Java8 Stream详解~筛选:filter相关推荐

  1. Java8 Stream详解~Stream 创建

    Stream可以通过集合数组创建. 1.通过 java.util.Collection.stream() 方法用集合创建流 List<String> list = Arrays.asLis ...

  2. Java8 Stream详解~收集(collect)

    collect,收集,可以说是内容最繁多.功能最丰富的部分了.从字面上去理解,就是把一个流收集起来,最终可以是收集成一个值也可以收集成一个新的集合. 1 归集(toList/toSet/toMap) ...

  3. Java8 Stream详解~聚合(max/min/count)

    max.min.count这些字眼你一定不陌生,没错,在mysql中我们常用它们进行数据统计.Java stream中也引入了这些概念和用法,极大地方便了我们对集合.数组的数据统计工作. 「案例一:获 ...

  4. Java8 Stream详解~遍历/匹配(foreach/find/match)

    Stream也是支持类似集合的遍历和匹配元素的,只是Stream中的元素是以Optional类型存在的.Stream的遍历.匹配非常简单. // import已省略,请自行添加,后面代码亦是publi ...

  5. Java8 Stream详解~Stream概述

    Java 8 是一个非常成功的版本,这个版本新增的Stream,配合同版本出现的 Lambda ,给我们操作集合(Collection)提供了极大的便利. 那么什么是Stream? Stream将要处 ...

  6. Java8 Stream详解~ 提取/组合

    流也可以进行合并.去重.限制.跳过等操作. public class StreamTest {public static void main(String[] args) {String[] arr1 ...

  7. Java8 Stream详解~排序:sorted

    sorted,中间操作.有两种排序: sorted():自然排序,流中元素需实现Comparable接口 sorted(Comparator com):Comparator排序器自定义排序 「案例:将 ...

  8. Java8 Stream详解~归约(reduce)

    归约,也称缩减,顾名思义,是把一个流缩减成一个值,能实现对集合求和.求乘积和求最值操作. 「案例一:求Integer集合的元素之和.乘积和最大值.」 public class StreamTest { ...

  9. Java8 Stream详解~映射(map/flatMap)

    映射,可以将一个流的元素按照一定的映射规则映射到另一个流中.分为map和flatMap: map:接收一个函数作为参数,该函数会被应用到每个元素上,并将其映射成一个新的元素. flatMap:接收一个 ...

最新文章

  1. 从零实现Vue的组件库(十)- Select 实现
  2. 关于程序员的59条搞笑但却真实无比的编程语录_技术/软件
  3. 常见拒绝服务型攻击原理及行为特征
  4. 微信小程序组件间通信(二)
  5. Winform中实现ZedGraph曲线图的图像复制到剪切板、打印预览、获取图片并保存、另存为的功能
  6. Java、Android—零碎难记笔试考点(持续更新)
  7. oracle slient静默安装并配置数据库及仅安装数据库不配置数据库shell
  8. string类的写时拷贝
  9. 一起读经典-《Effective Java》1.1 考虑使用静态工厂方法代替构造器
  10. sqlrowset 转化为json_Python 操作 JSON 的 9 个示例
  11. (一)查询出排序中的最大值和最小值
  12. Delphi7常用插件
  13. 桌面应用程序软件开发语言_开发多语言软件应用程序的技巧
  14. 学小易有微型计算机接口答案吗,学小易接口更新+新的接口+成品
  15. jQuery实现简单分页
  16. 计算机网络之公有IP和私有IP
  17. 数据库管理系统:Redis配置与使用
  18. NoSQL:列族数据库
  19. 用Python爬取了2900多款防脱洗发水数据并进行可视化分析,助你缓解脱发困扰
  20. C/C++中 sizeof 的用法总结

热门文章

  1. cosine_similarity和torch.cosine_similarity速度差异(人间奇事)
  2. Java栈内存、堆内存、方法区对对象和引用的关系
  3. 搭建分布式环境:Dubbo+Zookeeper
  4. 知识图谱最新权威综述论文解读:开篇部分
  5. 边工作边刷题:70天一遍leetcode: day 7
  6. C#读取EXIF信息类
  7. UVA11427概率期望+独立重复事件
  8. 3.1. _3. 覆盖与交换
  9. linux的常用操作——gcc
  10. 线程知识点(一)—— 程序、进程、线程之间的区别与联系、Java的线程状态和生命周期