java stream流中reduce
时间: 2023-11-22 18:44:43 浏览: 84
Java 8系列之Stream中万能的reduce用法说明
Java Stream 中的 reduce 操作可以将流中的元素按照指定的方式进行聚合,得到一个最终的结果。reduce 操作有两个参数,第一个参数是初始值,第二个参数是一个 BinaryOperator 接口类型的函数,用于将流中的元素进行聚合。下面是一个示例代码:
```
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
```
上面的代码中,初始值为 0,BinaryOperator 函数是将两个数相加。reduce 操作首先将初始值和流中的第一个元素相加,得到 1;然后将这个结果和流中的第二个元素相加,得到 3;以此类推,最终得到了 15。
另外,Java 8 中还提供了一些常用的 reduce 操作,例如求和、求最大值、求最小值等。这些操作都可以通过 Stream 类的静态方法来实现。
阅读全文