星途码客的博客

csdn推荐

Java 8 引入了一种新的抽象概念 Stream(流),它使得对数据的处理变得更加简便和高效。Stream 是一种来自数据源的元素队列并支持聚合操作。Stream API 借助于lambda表达式,极大的提高了Java程序员的生产力,让程序员写出高效率、干净、简洁的代码。同时它提供串行和并行两种模式进行汇聚操作,并发模式能够充分利用多核处理器的优势,使用fork/join并行方式来拆分任务和加速处理过程。Stream 的特性可以归纳为:- 不是数据结构- 没有存储元素- 支持延迟计算- 支持并行处理Stream 的操作分为中间操作和终止操作。中间操作会返回一个新的 Stream,我们可以对这个新的 Stream 进行下一步的操作。终止操作则会返回一个最终的结果。Stream 操作可以分为以下几种:- Intermediate(中间)操作:一个流可以后面跟随零个或多个Intermediate操作。其目的主要是打开流,做出某种程度的数据映射/过滤,然后返回一个新的流,交给下一个操作使用。这类操作都是惰性化的(lazy),就是说,仅仅调用到这类方法,并没有真正开始流的遍历。- Terminal(终止)操作:一个流只能有一个 Terminal 操作,当这个操作执行后,流就被使用“光”了,无法再被操作。所以这必定是流的最后一个操作。Terminal 操作的执行,才会真正开始流的遍历,并且会生成一个结果,或者一个 side effect。Stream API 提供了大量的方法,可以用来完成各种不同的操作,如过滤、映射、筛选、查找、归约等等。这些方法可以分为以下几类:- 转换操作:map、flatMap、filter、distinct、sorted、peek、limit、skip- 聚合操作:forEach、reduce、collect- 匹配操作:allMatch、anyMatch、noneMatch- 查找操作:findFirst、findAny- 统计操作:count、min、max、average、sumStream API 的使用可以大大简化代码,增加可读性和可维护性。同时,由于它的并行特性,可以有效地提升程序的性能。

文章来源:https://blog.csdn.net/m0_69005620/article/details/139371721



微信扫描下方的二维码阅读本文

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容