JDk8的新特性-流和内部iteration

Posted blogsofmy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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是并发执行的 所以效率也更高

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








以上是关于JDk8的新特性-流和内部iteration的主要内容,如果未能解决你的问题,请参考以下文章

Jdk8的新特性

JDK8的新特性-java.util.function--Function接口

JDK8的新特性——Lambda表达式

JDK 8 中的新特性

jdk8的新特性

Jdk8新特性之Stream