流是什么?

Java8引入的新成员,以声明式方式处理集合数据
将基础操作链接起来,完成复杂的数据处理流水线
提供透明的并行处理能力

流的简介

从支持数据处理操作的源生成的元素序列

流与集合的区别

集合便于存储
流便于计算
只能遍历一次

外部迭代和内部迭代

流的组成

image.png

流操作分类

image.png

流的使用

image.png
image.png

流的构建

由值创建流
由数组创建流
由文件生成流
由函数生成流(无限流)

收集器

将流中的元素积累成一个结果
作用于终端操作Collect()上

预定义收集器功能

将流元素归约和汇总为一个值
将流元素分组
将流元素分区