java9新特性-13-增强的 Stream API
2024-08-31 13:18:59
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
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
最新文章
- java记录
- zepto.js学习
- 查看Eclipse版本
- python编码-2
- HDU 5877 [dfs序][线段树][序]
- poj 2109 Power of Cryptography
- leecode 归并排序 链表(java)
- JavaScript中String对象处理HTML标记中文本的方法
- HDOJ 1800 Flying to the Mars 盲目搜索......................so easy...........
- SVN解锁失败的解决办法
- linux的学习系列 6---打印文件和发送邮件
- css样式实现立方体制作
- distinct的用法
- dataframe的select传入不定参数
- linux添加swap分区【转】
- 在windows下用vagrant建立lnmp开发环境
- 【POJ 3476】A Game with Colored Balls
- selenium+python自动化78-autoit参数化与批量上传
- Django模型层之多表操作
- [LeetCode] 127. Word Ladder _Medium tag: BFS
热门文章
- GNU Linux中的SO_RCVLOWAT和SO_SNDLOWAT说明
- 第十五章,读取txt文件(C++)
- hibernate之4.延迟载入
- simple_strtoul()分析
- bzoj3173: [Tjoi2013]最长上升子序列(树状数组+二分倒推)
- ES设置查询的相似度算法
- POJ 1948 DP
- Android RecyclerView 设置item间隔的方法
- FCC高级编程篇之Validate US Telephone Numbers
- 洛谷P2617 Dynamic Rankings 主席树 单点修改 区间查询第 K 大