java对每个键的映射值求和
我有以下地图:
{21=0, 22=2, 11=0, 12=0}
{21=3, 22=0, 11=6, 12=3}
{21=6, 22=0, 11=7, 12=0}
{21=5, 22=7, 11=9, 12=1}
以下代码返回这些映射:
for (Chrom t: obj.getChroms) {
Map<Integer, Integer> result = t.getExecutionCount();
}
方法getExecutionCount()
返回单个映射。对于我上面给出的示例,我有四个色度,其中每个色度将返回一个单独的映射
我想分别对每个键的值求和,以便最终结果为:
21 = 14
22 = 9
11 = 22
12 = 4
是否可以使用stream来实现这一点?如果没有,我怎么做
# 1 楼答案
您可以创建地图流,并使用
flatMap
# 2 楼答案
可以使用
Stream
。它应该可以工作(不幸的是,我现在无法编译)一点解释
Map
上播放流媒体Map
中包含的所有条目创建唯一的Stream
Integer::sum
,这将减少同一个键的两个值# 3 楼答案
试试这个: