[java]Stream API——reduce

Posted vickylinj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[java]Stream API——reduce相关的知识,希望对你有一定的参考价值。

聚合操作reduce

T reduce(T identity, BinaryOperator accumulator)

代码:

int value = Stream.of(1, 2, 3, 4).reduce(100, (sum, item) -> sum + item);

或者使用方法引用:

int value = Stream.of(1, 2, 3, 4).reduce(100, Integer::sum);

value结果:101,103,106,110

identity:它允许用户提供一个循环计算的初始值。(100)

accumulator:计算的累加器,其方法签名为apply(T t,U u),在该reduce方法中第一个参数t(sum)为上次函数计算的返回值,第二个参数u(item)为Stream中的元素,这个函数把这两个值计算apply,得到的和会被赋值给下次执行这个方法的第一个参数

以上是关于[java]Stream API——reduce的主要内容,如果未能解决你的问题,请参考以下文章

Java8 中reduce的基本使用

Java8: Stream API

为啥不在 Stream API 中使用 reduce 来合并多个映射?

java 8 学习三(Stream API)

Stream api reduce方法在尝试对大数求和时返回负值[重复]

stream reduce 执行源码简易分析