java9 stream_Java9 Stream API
流(Stream)是在Java中引入的,以帮助开发人员从一系列对象中执行聚合操作。在Java 9中,使用较少的方法就可以使流更好。
takeWhile(Predicate接口)
语法
default Stream takeWhile(Predicate super T> predicate)
takeWhile方法获取所有值直到predicate返回false。 在有序流的情况下,它返回一个流,该流包含从此流中匹配给定predicate的元素的最长前缀。
示例
import java.util.stream.Stream;
public class Tester {
public static void main(String[] args) {
Stream.of("a","b","c","","e","f").takeWhile(s->!s.isEmpty())
.forEach(System.out::print);
}
}
takeWhile方法获取所有a,b和c值,然后当字符串为空,它将停止执行。
abc
dropWhile(Predicate接口)
语法
default Stream dropWhile(Predicate super T> predicate)
dropWhile方法在开始时丢弃所有值,直到谓词返回true。 在排序流的情况下,它返回包含该流剩余元素的流后,删除与给定predicate匹配的元素的最长前缀。
示例
import java.util.stream.Stream;
public class Tester {
public static void main(String[] args) {
Stream.of("a","b","c","","e","f").dropWhile(s-> !s.isEmpty())
.forEach(System.out::print);
System.out.println();
Stream.of("a","b","c","","e","","f").dropWhile(s-> !s.isEmpty())
.forEach(System.out::print);
}
}
dropWhile方法删除a,b和c值,然后当字符串为空,它将获取所有值。
ef
ef
iterate语法
static Stream iterate(T seed, Predicate super T> hasNext, UnaryOperator next)
iterate方法现在具有hasNext作为参数,当hasNext Predicate返回false,它将停止循环。
示例
import java.util.stream.IntStream;
public class Tester {
public static void main(String[] args) {
IntStream.iterate(3, x -> x < 10, x -> x+ 3).forEach(System.out::println);
}
}
执行上面代码,输出结果如下 -
3
6
9
ofNullable语法
static Stream ofNullable(T t)
ofNullable方法被引入以防止NullPointerExceptions并避免对流进行空检查。 此方法返回包含单个元素的顺序流,如果非空(null)。否则返回空流。
语法
import java.util.stream.Stream;
public class Tester {
public static void main(String[] args) {
long count = Stream.ofNullable(100).count();
System.out.println(count);
count = Stream.ofNullable(null).count();
System.out.println(count);
}
}
执行上面示例代码,得到以下结果 -
1
0
¥ 我要打赏
纠错/补充
收藏
加QQ群啦,易百教程官方技术学习群
注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。
java9 stream_Java9 Stream API相关推荐
- java9 反应编程_Java9第四篇-Reactive Stream API响应式编程
file 我计划在后续的一段时间内,写一系列关于java 9的文章,虽然java 9 不像Java 8或者Java 11那样的核心java版本,但是还是有很多的特性值得关注.期待您能关注我,我将把ja ...
- java9新特性--jShell--命令语法改进:try语和接口的私有方法--String存储结构变更--集合工厂方法--模块化系统--InputStream 加强--增强的 Stream API
目录 Java 9 的新特性 JDK 和 JRE 目录结构的改变 模块化系统: Jigsaw -> Modularity 实现目标 模块 结构 jShell命令 产生背景 设计理念 实现目标 j ...
- 【Java8新特性】关于Java8的Stream API,看这一篇就够了!!
写在前面 Java8中有两大最为重要的改变.第一个是 Lambda 表达式:另外一个则是 Stream API(java.util.stream.*) ,那什么是Stream API呢?Java8中 ...
- Java 8中Stream API的这些奇技淫巧!你都Get到了吗?
作者:我是你的小眼睛儿 https://www.jianshu.com/p/9fe8632d0bc2 Stream简介 1.Java 8引入了全新的Stream API.这里的Stream和I/O流不 ...
- 使用 Stream API 高逼格 优化 Java 代码!
作者 | 何甜甜在吗 来源 | https://juejin.cn/post/6844903945005957127 使用Stream API优化代码 Java8的新特性主要是Lambda表达式和流, ...
- Java 8 中 Stream API 的奇技淫巧
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | 我是你的小眼睛儿 来源 | jianshu.c ...
- Java 8 Stream Api 中的 map和 flatMap 操作
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | 公众号「码农小胖哥」 1.前言 Java 8 ...
- Java 8 Stream Api 中的 skip 和 limit 操作
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 1. 前言 Java 8 Stream API 中的sk ...
- java遍历栈_Java中使用StackWalker和Stream API进行堆栈遍历
1.Java 9以前堆栈遍历到目前为止,官方解决方案是获取当前线程并调用其getStackTrace()方法: StackTraceElement[] stackTraceElements = Thr ...
最新文章
- npm install 报权限错误,permission denied
- (JavaWeb)HttpServletResponse和HttpServletRequest
- html文字字号不改变,如何在不改变div大小的情况下更改HTML / css中的字体大小?...
- 主持人副语言包括什么_央视主持人大赛,董卿最精彩的这几段点评,居然被剪掉了...
- mvn 命令向本地仓库上传 jar
- 基于swiper和Less的小米商城
- 如何制作linux系统硬盘,手把手带你自制Linux系统之二 简易Linux的制作
- js string函数之slice,indexOf,split联合获取参数
- Julia : 如何生成一个水仙花数?
- 高通手机调试烧录—QFIL工具
- uefi模式下修改Intel网卡MAC地址
- hdu6184 判断三元环
- sd 0:0:0:0: [sda] Assuming drive cache: write through错误解决 本人实测!
- Spark基础(五)SparkSteaming
- hyu 1698 Just a Hook
- 开源协议之Code Project Open License (CPOL)
- 人工蜂群算法c语言程序,基于人工蜂群算法的炼钢连铸生产调度方法研究
- 21. A1088 Rational Arithmetic
- 华为鸿蒙最大合作伙伴,全球第三大手机系统「鸿蒙」上线,这19款能抢先用…...
- nRF52832:在 macOS 下使用 SEGGER Embedded Studio(SES)搭建开发环境
热门文章
- 大型企业都在用的Python反爬虫手段,破了它!
- Linux常用命令(1)
- 案例一:网站模拟登录
- 分布式系统以及CAP原理
- Spark Streaming 遇到 kafka
- Flask-SQLAlchemy 对数据库的过滤查询
- 每天进步一点点《ML - 基于层次的聚类》
- 漫步线性代数二十——快速傅里叶变换(下)
- python中os.path.join()的循环用法_Python os.path.join()用法及代码示例
- python 时间_Python-基础-时间日期处理小结