1.Stream的由来
Java8引入了全新的Stream API,这里的Stream和I/O流不同,更像是Iterator的集合类,但行为和集合类不同。Stream API的引入在于弥补Java函数式编程的缺陷,可以用很少代码完成很多的功能。借助Lambda表达式,可以提高编程效率和可读性。它是对于集合功能的增强,专注于对集合对象进行各种高效,非常便利的聚合操作,或者大批量数据操作。同时提供了串行和并行两种操作,充分利用多核处理的优势,通过fork/join操作来拆分任务和加速处理过程。
2.Stream的介绍
Stream如同一个迭代器,单向,不可重复,只可以便利一次。但是Stream支持并行,数据源可以无限。
操作流的步骤是:获取一个数据源(source)→ 数据转换→执行操作获取想要的结果,每次转换原有 Stream 对象不改变,返回一个新的 Stream 对象(可以有多次转换),这就允许对其操作可以像链条一样排列,变成一个管道。
对Stream操作分为两种: