码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2018-01-13 11:04:58      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:指针   运算   origin   并行   load   null   一个   content   gem   

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

标签:指针   运算   origin   并行   load   null   一个   content   gem   

原文地址:https://www.cnblogs.com/wzlbigdata/p/8278396.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!