JDk8的新特性-流和内部iteration
JDK8到今天已经出了好几年了 但是在公司能用到新特性的地方还是很少,
去年的时候当时项目老大要求我们用最新的写法来写Java
刚开始看到用stream写出来的代码一脸懵逼,内心就在想 这是Java吗?
后面开始看api文档 发现这样写出来的代码简洁很多,性能也更好
今天写篇博客来介绍流和foreach
在jdk8以前 我们写循环的时候基本上都是用
for (StudentIdList idList : studentIdList) {
//处理业务
}这么写在我的理解来看 不够优雅 如果用stream结合foreach来写 studentIdList.parallelStream().forEach(studentIdList1 -> {
//处理业务
}); 如上所述代码 好像也并没有太大的差别但是我们可以结合 filter等函数来过滤一些不需要的数据例如
studentIdList.parallelStream()
.filter(studentIdList1 -> studentIdList1.getStudentId() != null)
.forEach(studentIdList1 -> {//处理业务}); 这样我们就可以不在循环里面判空 同时因为parallelStream是并发执行的 所以效率也更高 而且因为现在业务都会复杂的多,所以这么写会节省很多的代码量
转载于:https://www.cnblogs.com/blogsofmy/p/10710935.html
JDk8的新特性-流和内部iteration相关推荐
- JDK 每半年就会更新一次新特性,再不掌握就要落伍了:JDK8 的新特性
该图片由Alexandr Podvalny在Pixabay上发布 你好,我是看山. 本文收录在 <Java 进阶> 系列专栏中. 从 2017 年开始,JDK 版本更新策略从原来的每两年一 ...
- JDK8之新特性扩展篇
转载自 JDK8之新特性扩展篇 BASE64 base64编码解码已经被加入到了jdk8中了. import java.nio.charset.StandardCharsets; import jav ...
- jdk8 接口新特性
jdk8 接口新特性 概述: jdk8之前接口是规则的集合体,方法只有抽象方法. jdk8版本开始不光光有抽象方法同时增加了实体方法. 新加实体方法: 默认方法 静态方法 默认方法 概述: 被关键 ...
- JDK8 新特性流式数据处理
在学习JDK8新特性Optional类的时候,提到对于Optional的两个操作映射和过滤设计到JDK提供的流式出来.这篇文章便详细的介绍流式处理: 一. 流式处理简介 流式处理给开发者的第一感觉就是 ...
- 【jdk8的新特性】
JDK1.8新特性 接口方法 接口中的属性默认有:static final 修饰符修饰: 定义的方法默认是抽象方法: 现在可以写默认方法: 由于JDK1.8的API,在已有的接口上,新增了很多的新方法 ...
- ES9的新特性:异步遍历Async iteration
文章目录 简介 异步遍历 异步iterable的遍历 异步iterable的生成 异步方法和异步生成器 简介 在ES6中,引入了同步iteration的概念,随着ES8中的Async操作符的引用,是不 ...
- 【JDK8语法新特性】:超全总结{lamda,stream,optional,新日期类API},JDK8对策略模式支持,可以直接贴代码运行测试。
文章目录 Java8新特性 速度快 代码更少(增加了新的语法,lamda表达式)(主要) 强大的Stream API(主要) 便于并行 最大减少空指针异常(Optional API) 提供了线程安全的 ...
- JDK8的新特性总结
文章目录 1.接口默认方法实现 2.新增Base64加解密API 2.1.Base64编码简介 2.2.JDK1.8之前Base64的API 2.3.JDK1.8之后Base64的API 3.时间日期 ...
- jdk8新特性(接口新特性、lambda表达式、方法引用、函数式接口、Stream流)和单例设计模式
1.单例设计模式 1.概念: 设计模式:使用固有的流程或方式设计出来的类接口.枚举等元素 2.设计原则: 1.私有化构造方法[private.protected] 2.类中创建最终对象[唯一不能被赋值 ...
最新文章
- pdf 加深 扫描件_为什么PDF文档不能像Word文档一样随便编辑?如何免费将PDF转换为Word?...
- 长沙网络推广教你如何在网站优化中让URL标准化?
- 办公文档加密,企业文档加密,强制性透明加密技术,fasoft
- 让数字营销向人工智能借一双慧眼
- JVM技术周报第2期
- java基础英语---第二十六天
- servlet核心API的UML图
- Hadoop集群(一) Zookeeper搭建
- android colorstatelist_B站Android多主题框架开源:MagicaSakura
- 前端切换视图_前端开发的10个软件工具,用过3个就是大神!
- JMeter接口测试入门
- 详细介绍各种常见的分布
- 永磁同步电机矢量控制(六)——MTPA最大转矩电流比控制
- access如何求平均单价_ACCESS中计算日均值
- 遥感的自然生态监测 专题
- 遮羞布被撕,业界反思5G的冒进,运营商重视挖掘现有5G网络的潜力
- 机器学习和深度学习资料汇总【02】
- python下载vip素材_Python下载素材脚本
- flutter type ‘int‘ is not a subtype of type ‘String?‘
- Git commit (amend)