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

Posted 王振龙

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java9新特性-13-增强的 Stream API相关的知识,希望对你有一定的参考价值。

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 返回从开头开始的尽量多的元素。

 
技术分享图片
 

dropWhile()的使用:

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

 
技术分享图片
 

ofNullable()的使用:

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

 
技术分享图片
 
 
技术分享图片
 

iterator()重载的使用:

 
技术分享图片
 

Optional类中stream()的使用:

 
技术分享图片
 
 
技术分享图片
 
 


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





以上是关于java9新特性-13-增强的 Stream API的主要内容,如果未能解决你的问题,请参考以下文章

jdk11新特性——官方的更新列表

java9新特性-增强的try-with-resources块

Java9新特性之——JShell

Java9新特性之HTTP2和REPL

JAVA9新特性之模块化系统和jshell体验

JAVA8新特性——接口定义增强