1.使用说明

Java 的 Steam API 是java标准库最好的改进之一,让开发者能够快速运算,从而能够有效的利用数据并行计算。Java 8 提供的 Steam 能够利用多核架构实现声明式的数据处理。

在 Java 9 中,Stream API 变得更好,Stream 接口中添加了 4 个新的方法:dropWhile,

takeWhile, ofNullable,还有个 iterate 方法的新重载方法,可以让你提供一个 Predicate (判断条件)来指定什么时候结束迭代。(见下例)

除了对 Stream 本身的扩展,Optional 和 Stream 之间的结合也得到了改进。现在可以通过 Optional 的新方法 stream() 将一个 Optional 对象转换为一个(可能是空的) Stream 对象。(见下例)


2.使用举例

takeWhile()的使用:

用于从 Stream 中获取一部分数据,接收一个 Predicate 来进行选择。在有序的 Stream 中,takeWhile 返回从开头开始的尽量多的元素。

 
java9新特性-13-增强的 Stream API-LMLPHP
 

dropWhile()的使用:

dropWhile 的行为与 takeWhile 相反,返回剩余的元素。

 
java9新特性-13-增强的 Stream API-LMLPHP
 

ofNullable()的使用:

Java 8 中 Stream 不能完全为null,否则会报空指针异常。而 Java 9 中的 ofNullable 方法允许我们创建一个单元素 Stream,可以包含一个非空元素,也可以创建一个空 Stream。

 
java9新特性-13-增强的 Stream API-LMLPHP
 
 
java9新特性-13-增强的 Stream API-LMLPHP
 

iterator()重载的使用:

 
java9新特性-13-增强的 Stream API-LMLPHP
 

Optional类中stream()的使用:

 
java9新特性-13-增强的 Stream API-LMLPHP
 
 
java9新特性-13-增强的 Stream API-LMLPHP
 
 

作者:尚硅谷面试官宋红康
链接:https://www.jianshu.com/p/f1fbe1f0b118
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
05-11 21:56