归约分组与分区,深入讲解JavaStream终结操作
Posted 和耳朵
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了归约分组与分区,深入讲解JavaStream终结操作相关的知识,希望对你有一定的参考价值。
思维导图镇楼。
上一篇中给大家讲了Stream的前半部分知识——包括对Stream的整体概览及Stream的创建和Stream的转换流操作,并对Stream一些内部优化点做了简明的说明。
虽迟但到,今天就来继续给大家更Stream第二部分知识——终结操作,由于这部分的API内容繁多且复杂,所以我单开一篇给大家细细讲讲。
正式开始之前,我们先来说说聚合方法本身的特性(接下来我将用聚合方法代指终结操作中的方法):
- 聚合方法代表着整个流计算的最终结果,所以它的返回值都不是Stream。
- 聚合方法返回值可能为空,比如filter没有匹配到的情况,JDK8中用Optional来规避NPE。
- 聚合方法都会调用evaluate方法,这是一个内部方法,看源码的过程中可以用它来判定一个方法是不是聚合方法。
ok,知晓了聚合方法的特性,我为了便于理解,又将聚合方法分为几大类:
其中简单聚合方法我会简单讲解,其它则会着重讲解,尤其是收集器,它能做的实在太多了。。。
Stream的聚合方法是我们在使用Stream中的必用操作,认真学习本篇,不说马上就能对Stream得心应手,起码也可以行云流水吧
以上是关于归约分组与分区,深入讲解JavaStream终结操作的主要内容,如果未能解决你的问题,请参考以下文章