java lambda表达式 列表分组求和
时间: 2023-06-04 11:06:31 浏览: 466
分组求和总计
5星 · 资源好评率100%
好的,这个问题可以进行回答。
Java 8 引入了 Stream API,可以使用 lambda 表达式进行流式操作。要对列表进行分组求和,可以使用 Collectors.groupingBy() 方法和 Collectors.summingInt() 方法。以下是示例代码:
```
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
Map<String, Integer> result = numbers.stream()
.collect(Collectors.groupingBy(
n -> n % 2 == 0 ? "偶数" : "奇数",
Collectors.summingInt(n -> n)
));
System.out.println(result);
```
这段代码将列表中的数字按照奇数和偶数分组,并且对每组中的数字进行求和。输出结果为:
```
{偶数=30, 奇数=25}
```
说明偶数之和为 30,奇数之和为 25。
阅读全文