.stream().reduce 加if判断
时间: 2023-11-28 08:50:44 浏览: 64
用ADODB.Stream转换
可以在 `reduce` 方法中加入 `if` 判断来过滤掉不符合条件的元素。比如,假设有一个 `List<Integer>`,需要对其中的偶数进行求和,可以这样实现:
```java
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6);
int sum = list.stream()
.filter(n -> n % 2 == 0) // 过滤出偶数
.reduce(0, (a, b) -> a + b); // 对偶数求和
System.out.println(sum); // 输出 12
```
在上述代码中,使用 `filter` 方法过滤出偶数,然后在 `reduce` 方法中进行累加求和操作。注意,`reduce` 方法的第一个参数是初始值,因为有可能出现空列表的情况,此时需要提供一个初始值,避免出现异常。
阅读全文