如何在Java中将另一个映射内的映射值求和? [英] How to sum values of a map that inside another map in java?

查看:95
本文介绍了如何在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆