理解:

  • Stream关注的是对数据的运算,与CPU打交道
  • 集合关注的是数据的存储,与内存打交道
  • Java8提供了一套API,可以对内存中的数据进行过滤、排序、映射、归约等操作。类似于sql对数据库中表的相关操作。

    注意点:

  1. Stream 自己不会存储元素
  2. Stream 不会改变元对象,相反,会返回一个持有结果的新Stream
  3. Stream 操作是延迟执行的,意味着会等到需要结果的时候才执行

使用流程

  1. Stream实例化
  2. 一系列中间操作(过滤、映射。。。)
  3. 终止操作

    注意点:

  • 一个中间操作链,对数据源的数据进行处理
  • 一旦执行终止操作,就执行中间操作链,若产生结果。之后,不会再被使用
  • image.png

image.png
image.png
image.png
image.png
image.png
image.png
image.png