- Stream API(java.util.stream)把真正的函数式编程风格引入到Java中. 这是目前为止对Java类库最好的补充 因为Stream API可以极大的提供Java程序员的生产力 让程序员写出高效率、干净、简洁的代码
- Stream 是 Java8中处理集合的关键抽象概念 它可以指定你希望对集合进行的操作 可以指向非常复杂的查找、过滤和映射数据等操作 使用Stream API对集合数据进行操作 就类似于使用SQL执行数据库查询 也可以使用Stream API来并行执行操作 简而言之 Stream API提供了一种高效且易于使用的处理数据的方式
- Stream和Collection集合的区别: Collection是一种静态的内存数据结构 二Stream是有关计算的. 前者主要面向内存 存储在内存中 后者主要面向CPU 同CPU实现计算
- Stream操作的三个步骤
- 创建Stream (一个数据源 如集合、数组 获取一个Stream)
- 中间操作 (一个中间操作链 对数据源的数据进行处理)
- 终止操作 (一旦执行终止操作 就执行中间链操作 并产生结果. 之后 不会在被使用)
- Stream特点
- Stream关注的是对数据的运算
- Stream自己不会存储元素
- Stream不会改变源对象 相反 他会返回一个持有结果的新Stream
- Stream操作时延迟执行的 这意味着它们会等到需要结果的时候才执行