JDK8到今天已经出了好几年了 可是在公司能用到新特性的地方仍是不多,api
去年的时候当时项目老大要求咱们用最新的写法来写Java并发
刚开始看到用stream写出来的代码一脸懵逼,心里就在想 这是Java吗?函数
后面开始看api文档 发现这样写出来的代码简洁不少,性能也更好性能
今天写篇博客来介绍流和foreach文档
在jdk8之前 咱们写循环的时候基本上都是用get
for (StudentIdList idList : studentIdList) {
//处理业务
}
这么写在个人理解来看 不够优雅
若是用stream结合foreach来写
studentIdList.parallelStream().forEach(studentIdList1 -> {
//处理业务
});
如上所述代码 好像也并无太大的差异
可是咱们能够结合 filter等函数来过滤一些不须要的数据
例如
studentIdList.parallelStream()
.filter(studentIdList1 -> studentIdList1.getStudentId() != null)
.forEach(studentIdList1 -> {
//处理业务});这样咱们就能够不在循环里面判空 同时由于parallelStream是并发执行的 因此效率也更高并且由于如今业务都会复杂的多,因此这么写会节省不少的代码量