1.什么是Stream
Stream是数据渠道,用于操作数据源所生成的元素序列,它可以实现对集合的复杂操作,例如过滤、排序和映射等。
(1).集合是一种静态的数据结构,存储在内存中,而Stream是通过CPU来实现计算的(并不会存储数据)
(2).Stream不会改变源对象,而是返回一个新的持有结果的Stream(不可变)
2.为什么要使用Stream
在实际开发中,项目中的很多数据都来源于关系型数据库(例如MySQL、Oracle等),使用SQL的条件语句就可以实现对数据的筛选、过滤等操作。但也有很多数据来源于非关系型数据库(例如Redis、MongoDB等),想要处理这些数据,往往需要在Java层面去操作。
而Stream API就提供了对集合中数据的操作,类似于SQL执行的数据库查询。简单来说,Stream API提供了一种高效且易于使用的数据处理方式。
3.Stream操作的执行流程
(1).创建Stream对象:通过一个数据源(例如集合、数组)创建一个流
(2).中间操作:一个中间的链式操作,对数据源的数据进行处理(例如过滤、排序等),直到执行终止操作才执行(Stream操作是延迟执行的)
(3).终止操作:一旦执行终止操作,就执行中间的链式操作,并产生结果
















