stream中reduce函数
时间: 2024-04-26 13:23:17 浏览: 89
Java 8系列之Stream中万能的reduce用法说明
reduce函数是一种常见的函数式编程方法,用于将一个集合中的元素按照指定的操作进行累积计算,最终得到一个结果。在Stream流中,reduce函数用于将流中的元素以某种方式进行组合,返回一个Optional对象。
在Java中,Stream类提供了三个重载的reduce方法:
1. T reduce(T identity, BinaryOperator<T> accumulator):使用提供的身份元素和累加器函数,在流中进行归约操作,返回最终的结果。
2. Optional<T> reduce(BinaryOperator<T> accumulator):使用提供的累加器函数,在流中进行归约操作,返回Optional对象,表示可能存在的结果。
3. <U> U reduce(U identity, BiFunction<U, ? super T, U> accumulator, BinaryOperator<U> combiner):使用提供的身份元素、累加器函数和组合器函数,在并行流中进行归约操作。
下面是一个使用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: " + sum);
`
阅读全文