Stream API 是 Java8 中引入的一种操作集合的高级抽象。Stream 可以视为集合(如 List、Set 等)的高级迭代器,基于 lambda 表达式,在遍历集合的同时,进行各种过滤、排序、映射等操作,并支持并行流式计算,大大提高了程序的效率和性能。
Stream API 的实现主要基于管道传输,将数据处理流程封装成一个个的处理环节,可以简单地解耦和组合,使得代码变得更加灵活和易读。Stream API 得益于流式计算的特性,在处理大量数据时有着明显的优势。
Stream API 的相关 API 包括创建流、中间操作和终止操作三大类:创建流包括集合、数组、文件等等;中间操作会产生一个新的流;终止操作则会触发 Stream 的处理过程,同时产生一个非 Stream 结构的结果。
Stream API 的实际应用场景非常广泛,例如数据过滤、聚合计算、数据转换等等。例如,我们可以通过 Stream API 完成以下数据处理操作:过滤出符合某种规则的数据;通过映射将数据类型转换;计算某些属性的和、平均值等;查找最大值或最小值等等。