list.stream().reduce()
时间: 2023-12-27 19:01:54 浏览: 85
Java 8系列之Stream中万能的reduce用法说明
`list.stream().reduce()`是Java 8中Stream API中的一个方法,它可以将一个流中的元素按照指定的方式进行归约操作,返回一个Optional对象。其中,reduce()方法有三个重载形式,分别为:
1. reduce(BinaryOperator<T> accumulator):对流中的元素进行归约操作,返回一个Optional对象。
2. reduce(T identity, BinaryOperator<T> accumulator):对流中的元素进行归约操作,返回一个T类型的对象。
3. reduce(U identity, BiFunction<U, ? super T, U> accumulator, BinaryOperator<U> combiner):对流中的元素进行归约操作,返回一个U类型的对象。
其中,第三个方法是对第二个方法的扩展,可以用于并行流的归约操作。
下面是一个示例代码,演示了如何使用reduce()方法对一个整数列表进行求和操作:
```java
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
Optional<Integer> sum = list.stream().reduce((x, y) -> x + y);
System.out.println(sum.get()); // 输出:15
```
阅读全文