介绍:
Stream流可以在开发中已函数式的方式,更简单的操纵集合等数据结构,实现用户无感知的并行计算;
stream在java.util.Stream包路径下,主要作用就是对集合数据进行查找过滤等操作,即一种搞笑且易用的数据处理方式。大数据领域也有一个stream实时流计算框架,不过和这个不一样,不要混淆。
stream特性:
无存储,非数据结构,而是数据源的一个视图,数据源可以是list,java容器,I/O channel等;
对stream的任何修改都不会修改背后数据源,比如过滤stream,不会删除被过滤掉的元素,而是会产生新的不包含被过滤掉元素的新stream;
惰性执行:Stream的操作不会立即执行,只是等到用户真正需要结果时才执行;
可消费性:stream只能被“消费”一次,一旦遍历过就会失效,就好比容器的迭代那样,想要再次遍历必须重新生成。
实用场景:
以下是便于查询使用stream的常用方案表格:
分为8类依次按底色划分:
1》 筛选和切片
2》 映射
3》 排序
4》 查找匹配
5》 统计
6》 汇总
7》 分组和分区
8》 顺序流和并行流



