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是并发执行的 所以效率也更高

而且因为现在业务都会复杂的多,所以这么写会节省很多的代码量







JDk8的新特性-流和内部iteration的更多相关文章

  1. Java学习:JDK8的新特性

    Java学习:JDK8的新特性 一.十大特性 Lambda表达式 Stream函数式操作流元素集合 接口新增:默认方法与静态方法 方法引用,与Lambda表达式联合使用 引入重复注解 类型注解 最新的 ...

  2. java 28 - 7 JDK8的新特性 之 接口可以使用方法

    JDK8的新特性: http://bbs.itcast.cn/thread-24398-1-1.html 其中之一:接口可以使用方法 interface Inter { //抽象方法 public a ...

  3. Java8新特性--流(Stream)

    1.简介      Java 8是Java自Java 5(发布于2004年)之后的最重要的版本.这个版本包含语言.编译器.库.工具和JVM等方面的十多个新特性.在本文中我们一起来学习引入的一个新特性- ...

  4. ES9的新特性:异步遍历Async iteration

    ES9的新特性:异步遍历Async iteration 目录 简介 异步遍历 异步iterable的遍历 异步iterable的生成 异步方法和异步生成器 简介 在ES6中,引入了同步iteratio ...

  5. JDK8的新特性——Lambda表达式

    JDK8已经发布快4年的时间了,现在来谈它的新特性显得略微的有点“不合时宜”.尽管JDK8已不再“新”,但它的重要特性之一——Lambda表达式依然是不被大部分开发者所熟练运用,甚至不被开发者所熟知. ...

  6. JDK15就要来了,你却还不知道JDK8的新特性!

    微信搜「烟雨星空」,白嫖更多好文. 现在 Oracle 官方每隔半年就会出一个 JDK 新版本.按时间来算的话,这个月就要出 JDK15 了.然而,大部分公司还是在使用 JDK7 和 8 . 之前去我 ...

  7. 并发设计模式和锁优化以及jdk8并发新特性

    1 设计模式 (1) 单例模式 保证一个类只能一个对象实现.正常的单例模式分为懒汉式和饿汉式,饿汉式就是把单例声明称static a=new A(),系统第一次调用的时候生成(包括调用该类的其他静态资 ...

  8. jdk8的新特性 Lambda表达式

    很多同学一开始接触Java8可能对Java8 Lambda表达式有点陌生. //这是一个普通的集合 List<Employee> list = em.selectEmployeeByLog ...

  9. JDK8.0新特性

    连接转载地址:http://www.2cto.com/kf/201609/544044.html Eclipse: http://aiyiupload.oss-cn-beijing.aliyuncs. ...

随机推荐

  1. Java学习的第三十五天

    1. 例1.1 例1.2 例1.3 例1.4 2.不知道为什么con的时候错误需要加入 3.明天继续写例题

  2. (二)http请求方法和状态码

    1.HTTP请求方法 根据 HTTP 标准,HTTP 请求可以使用多种请求方法. HTTP1.0 定义了三种请求方法: GET.POST 和 HEAD方法. HTTP1.1 新增了六种请求方法:OPT ...

  3. ELK搭建以及运行和ElasticStarch的详细使用(7.X版本之上)

      ELK初体验     1.官网   https://www.elastic.co/cn/downloads/elasticsearch   2.需要安装JDK   ElasticSearch 是一 ...

  4. netstat与ss

    netstat -t:tcp协议的连接 -u:udp协议的链接 -l:监听状态的连接 -a:所有状态的连接 -p:连接相关的进程 -n:数字格式显示 -r:显示路由表,类似于route或ip rout ...

  5. 懒得写文档,swagger文档导出来不香吗

    导航 前言 离线文档 1 保存为html 2 导出成pdf文档 3 导出成Word文档 参考 前言   早前笔者曾经写过一篇文章<研发团队,请管好你的API文档>.团队协作中,开发文档的重 ...

  6. 【T1543.003】利用 ACL 隐藏恶意 Windows 服务

    看到一篇文章讲述了通过设置 DACL 隐藏 Windows 服务信息,便做一下总结. 技术原理 系统中每个 Service 在 Windows 中属于都一种对象(Object),用户在访问对象时的权限 ...

  7. C语言利用结构体数组实现学生成绩管理系统

    这篇文章主要为大家详细介绍了C语言利用结构体数组实现学生成绩管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 要求: 某班有最多不超过30人(具体人数由键盘输入) ...

  8. Pyston v2.0 发布,解决 Python 慢速的救星

    Pyston 自从 2017 年发布 0.6.1 版本后,已经淡出了人们的视线三年多了,导致现在新人都很少听过它的大名. 前两天(2020年10月28日)Pyston 在官方博客上(https://b ...

  9. 腾讯云--腾讯云sdk-实现脚本修改腾讯云负载均衡权重

    一.请确认你的当前python环境为python 2.x 获取 python 版本的方法 (linux shell) # python -v python 2.7.11 二.CLB SDK下载与配置 ...

  10. 小规模DES手写加解密

    1.加密 2.解密