stream流reduce
时间: 2023-09-10 12:11:43 浏览: 127
详解JAVA Stream流
5星 · 资源好评率100%
stream流reduce 是 Java 8 中引入的一种函数式编程方式,用于对集合(或数组)中的元素进行聚合操作。reduce 操作接收两个参数:初始值(也称为累加器)和一个 BinaryOperator(二元操作符)。
BinaryOperator 接收两个参数并返回一个结果。在 reduce 操作中,它被用来将集合中的元素逐个与累加器进行操作,并最终得到一个结果。
下面是一个使用 stream 流 reduce 的示例:
```java
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
int sum = numbers.stream()
.reduce(0, (a, b) -> a + b);
System.out.println(sum); // 输出:15
```
在上面的示例中,我们通过调用 numbers 的 stream() 方法创建一个流。然后使用 reduce 操作,将初始值设置为0,并传递一个 lambda 表达式 `(a, b) -> a + b` 作为二元操作符。这个 lambda 表达式将两个元素相加,并返回结果。最终,reduce 操作得到了所有元素的和。
除了求和,reduce 还可以执行其他类型的聚合操作,如查找最大值、最小值等。它提供了更灵活的方式来处理集合中的元素。
阅读全文