简介:
Stream是Java 8 API添加的一个新的抽象,称为流Stream,以一种声明性方式处理数据集合,侧重对于源数据计算能力的封装,且支持序列与并行两种操作
优点:
1.Stream本身不会存储元素
2.Stream不会改变数据源对象,相反会返回产生一个持有结果的新Stream
3.Steam操作是延迟执行的,这意味着他们会等到需要结果的时候才执行
一、什么是Stream
Stream是数据渠道,用于操作数据源所生成的元素序列,它可以实现对集合的复杂操作,例如过滤、排序和映射等。
1.集合是一种静态的数据结构,存储在内存中,而Stream是通过CPU来实现计算的(并不会存储数据)
2.Stream不会改变源对象,而是返回一个新的持有结果的Stream(不可变)
二、为什么要使用Stream
在实际开发中,项目中的很多数据都来源于关系型数据库(例如MySQL、Oracle等),使用SQL的条件语句就可以实现对数据的筛选、过滤等操作。但也有很多数据来源于非关系型数据库(例如Redis、MongoDB等),想要处理这些数据,往往需要在Java层面去操作。
而Stream API就提供了对集合中数据的操作。直白的说,Stream API提供了一种高效且易于使用的数据处理方式。
三、导图: