相信有很多刚刚入坑程序员的小伙伴被一些代码搞的很头疼,这些代码让我们既感觉到很熟悉,又很陌生的感觉。我们很多刚入行的朋友更习惯于使用for循环或是迭代器去解决一些遍历的问题,但公司里很多老油子喜欢使用Java8新特性Stream流去做,这样可以用更短的代码实现需求,但是对于不熟悉的新手来说,可读性差一些。
1. 为什么有经验的老手更倾向于使用Stream 性能优势,(大数据量)相较于迭代器,速度更快支持串行与并行处理,并行处理更能充分利用CPU的资源Stream 是一种计算数据的流,它本身不会存储数据支持函数式编程代码优雅,让代码更高效,干净,简洁 2. Stream 的使用方式三步操作:
创建Stream中间操作终止操作 3. Stream 的创建Stream 的 创建都会依赖于数据源,通常是容器或者数组 Stream 流的创建大致分为4中,最为常用的就是通过集合创建
4. Stream 中间操作Stream 中间操作,我们最为常用的就是过滤,去重,排序 本章包含我们开发最常用的对对象的去重,和更据对象中的对个属性组合排序
Student
5. Stream 终止操作Stream 的终止操作,最常用的就是讲处理过的数据收集到新的容器中,同时可以实现向Sql聚合函数,分组的一些效果
6. Stream 特性中间操作惰性执行
多个中间操作的话,不会多次循环,多个转换操作只会在终止操作的时候融合起来,一次循环完成。
内部迭代找到符合条件的数据后边的迭代不会进行流的末端操作只有一次异常:stream has already been operated upon or closed
意思是流已经被关闭了,这是因为当我们使用末端操作之后,流就被关闭了,无法再次被调用,如果我们想重复调用,只能重新打开一个新的流。
到此这篇关于Java8中Stream的使用方式的文章就介绍到这了,更多相关Java8中的Stream内容请搜索七叶笔记以前的文章或继续浏览下面的相关文章希望大家以后多多支持七叶笔记!