Stream 是 Java 8 新增加的类,用来补充集合类。 Stream 代表数据流,流中的数据元素的数量可能是有限的,也可能是无限的。 Stream 和其它集合类的区别在于:其它集合类主要关注与有限数量的数据的访问和有效管理 (增删改),而 Stream 并没有提供访问和管理元素的方式,而是通过声明数据源的方式,利用可计算的操作在数据源上执行,当然 BaseStream.iterator() 和 BaseStream.spliterator() 操作提供了遍历元素的方法。 Java Stream 提供了提供了串行和并行两种类型的流,保持一致的接口,提供函数式编程方式,以管道方式提供中间操作和最终执行操作,为 Java 语言的集合提供了现代语言提供的类似的高阶函数操作,简化和提高了 Java 集合的功能。