一.Stream API的说明
-
Stream是Java 8 中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找,过滤和映射等操作
-
使用Stream API对集合数据进行操作,就类似于使用SQl执行的数据库查询,也可以使用Stream API来并行执行操作,简言之.Stream API提供了一种高效且易于使用的处理数据的方式
二.为什么要使用Stream API?
-
实际的开发过程中,项目中的多数数据源都来自于MySql,Oracle等,但现在数据源可以更多了,有的就需要在Java层面处理,而不是数据库,这就要用到Stream
-
Stream和Collection集合的区别:
-
Collection是一种静态的内存数据结构,而Stream是有关计算的
-
前者是主要面向内存的,存储在内存中;后者主要是面向CPU,通过CPU实现计算.
-
集合讲的是数据,Stream讲的是计算
-
三.什么是Stream流?
①Stream作为Java8的新特性,允许以声明式的方式处理数据集合,可以看做是遍历数据集合的高级迭代器.此外Stream与Lambda表达式结合后编码效率大大提高,并且程序的可读性更强
②Stream流简单来说就是数据渠道,用于操作数据源(集合,数组等)所生成的元素序列
注:
-
Stream与InputStream和OutputStream是完全不同的概念
-
Stream自己不会存储元素
-
Stream不会改变原有的对象,相反,他们会返回一个持有结果的新的Stream
-
Stream操作时延时进行的,这意味着只有等到需要结果的时候才执行相应的操作