如何在Java中将另一个映射内的映射值求和? [英] How to sum values of a map that inside another map in java?
本文介绍了如何在Java中将另一个映射内的映射值求和?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有这张地图,里面有另一个HashMap.我如何求和内部图的值并进行比较?
I have this map that has another HashMap inside it. How can I sum the values of the inner maps and compare them ?
地图大小也可以更改.因此,我正在寻找一种适用于各种尺寸地图的解决方案.
Also the maps size changeable. So I'm looking for a solution that works every size of the maps.
{Team2={Alex=0, Tom=20}, Team1={John=0, Ammy=9, Monica=1}, Team3{...}, ...}
球队的价值-> {Alex = 0,Tom = 20},{John = 0,Ammy = 9,Monica = 1} ...
values of teams --> {Alex=0, Tom=20}, {John=0, Ammy=9, Monica=1} ...
值为-> {0,20},{0,9,1} ...
values of these values is --> {0,20}, {0,9,1}...
我只想对这些值求和并找到最大的值.
I just want to sum this values and find the biggest one.
for(int i = 0 ; i < teamNameList.size() ; i++){
int sum = sum + teams.get(teamNameList.get(i)).values().values();
}
推荐答案
如果您使用的是Java 8,则可以使用:
If you are using java 8, you can use :
long sum = map.values().stream()
.mapToInt(i -> i.values().stream()
.mapToInt(m -> m).sum()).sum();
这篇关于如何在Java中将另一个映射内的映射值求和?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文