Java8新特性
Java9新特性

Java8 Stream流概述

Stream流是JDK8新增的成员,允许以声明性方式处理数据集合,可以把Stream流看作是遍历数据集合的一个高级迭代器。

使用流的好处:

代码以声明性方式书写:说明想要完成什么,而不是说明如何完成一个操作。

可以把几个基础操作连接起来,来表达复杂的数据处理的流水线,同时保持代码清晰可读。

流是什么?

从支持数据处理操作的源生成元素序列.数据源可以是集合,数组或IO资源。

从操作角度来看,流与集合是不同的. 流不存储数据值; 流的目的是处理数据,它是关于算法与计算的。

如果把集合作为流的数据源,创建流时不会导致数据流动; 如果流的终止操作需要值时,流会从集合中获取值; 流只使用一次。

流中心思想是延迟计算,流直到需要时才计算值。

 

流使用时一般包括三件事:

● 一个数据源(如集合)来执行一个查询;

● 一个中间操作链,形成一条流的流水线

● 一个终端操作,执行流水线,生成结果