JAVA8新特性之:Stream 详解
【推荐阅读】微服务还能火多久?>>> Java 8 中的 Stream 是对集合(Collection)对象功能的增强,它专注于对集合对象进行各种非常便利、高效的聚合操作(aggregate operation),或者大批量数据操作 (bulk data operation)。 Stream代表数据流,流中的数据元素的数量可能是有限的,也可能是无限的。 Stream和其它集合类的区别在于:其它集合类主要关注与有限数量的数据的访问和有效管理(增删改),而Stream并没有提供访问和管理元素的方式,而是通过声明数据源的方式,利用可计算的操作在数据源上执行,当然 BaseStream.iterator() 和 BaseStream.spliterator() 操作提供了遍历元素的方法。 Java Stream提供了提供了串行和并行两种类型的流,保持一致的接口,提供函数式编程方式,以管道方式提供中间操作和最终执行操作,为Java语言的集合提供了现代语言提供的类似的高阶函数操作,简化和提高了Java集合的功能。 Stream接口还包含几个基本类型的子接口如IntStream, LongStream 和 DoubleStream。 关于流和其它集合具体的区别,可以参照下面的列表: 不存储数据 。流是基于数据源的对象,它本身不存储数据元素,而是通过管道将数据源的元素传递给操作。 函数式编程