1 集合的流式编程的简介

Stream是JDK1.8之后出现的新特性,也是JDK1.8新特性中最值得学习的两种新特性之一。(另外一
个是lambda表达式)。
Stream是对集合操作的增强,流不是集合的元素,不是一种数据结构,不负责数据的存储的。流更
像是一个迭代器,可以单向的遍历一个集合中的每一个元素,并且不可循环。

2 为什么要使用集合的流式编程

有些时候,对集合中的元素进行操作的时候,需要使用到其他操作的结果。在这个过程中,集合的流
式编程可以大幅度的简化代码的数量。将数据源中的数据,读取到一个流中,可以对这个流中的数据进
行操作(删除、过滤、映射…)。每次的操作结果也是一个流对象,可以对这个流再进行其他的操作。

3 使用流式编程的步骤

通常情况下,对集合中的数据使用流式编程,需要经过以下三步。

  1. 获取数据源,将数据源中的数据读取到流中。
  2. 对流中的数据进行各种各样的处理。
  3. 对流中的数据进行整合处理。
    在上述三个过程中,过程2中,有若干方法,可以对流中的数据进行各种各样的操作,并且返回流对
    象本身,这样的操作,被称为 – 中间操作。过程3中,有若干方法,可以对流中的数据进行各种处理,
    并关闭流,这样的操作,被称为 – 最终操作。
    在中间操作和最终操作中,基本上所有的方法参数都是函数式接口,可以使用lambda表达式来实
    现。使用集合的流式编程,来简化代码量,是需要对 lambda 表达式做到熟练掌握。