1. 概述
- StreamAPI是JDK8.0中处理集合的关键抽象概念,可以指定希望对集合进行的操作,可以执行非常复杂的查找、过滤和映射函数等操作
- 使用StreamAPI对集合进行操作,类似于使用SQL语言执行的数据库查询
- StreamAPI提供了并行执行操作,原先复杂的并行操作,在JDK8.0中一个函数搞定
- StreamAPI提供了一种高效且易于使用的处理数据的方式
2. 什么是Stream?
- Stream是数据渠道
- Stream用于操作数据源所生成的元素序列
- 数据源 : 集合、数组等
- 集合是数据,而Stream流是计算
3. Stream使用注意事项
- Stream自己不会存储元素
- Stream不会改变源对象。相反,它们会返回一个持有结果的新的Stream
- 类似于拷贝文件 : 数据源就是源文件,Stream流就是复制后的文件,对复制后的文件进行的修改是不会影响原文件的内容
- Stream的操作是延迟的,也就是需要结果的时候才会执行
4. 操作Stream的三个步骤
- 创建Stream
- 通过数据源获取一个流,也就是获取Stream流
- 中间操作
- 中间操作链 : 对数据源的数据进行处理,比如 筛选,去重等;
- 终止操作
- 终止操作 : 执行中间的操作链,并产生结果