当前位置: 首页 > 知识库问答 >
问题:

如何在java中求和一个map的值和另一个map的值?

韦阳晖
2023-03-14

我有一个地图,里面有另一个HashMap。如何将内部图的值求和并进行比较?

地图的大小也是可以改变的。所以我在寻找一个解决方案,它适用于所有大小的地图。

{Team2={Alex=0, Tom=20}, Team1={John=0, Ammy=9, Monica=1}, Team3{...}, ...}

这些值的值为-->{0,20},{0,9,1}...

我只想把这些值求和,找出最大的一个。

 for(int i = 0 ; i < teamNameList.size() ; i++){
                int sum = sum + teams.get(teamNameList.get(i)).values().values();
            }

共有1个答案

叶淇
2023-03-14

如果您使用的是Java8,那么可以使用:

long sum = map.values().stream()
        .mapToInt(i -> i.values().stream()
        .mapToInt(m -> m).sum()).sum();
 类似资料:
  • 问题内容: 我想要与此等同的流: 该代码实际上并未编译,因为无法将0分配给T类型,但是您可以理解。 问题答案: 这是另一种方法: (不过,总的来说,保罗的回答是减少装箱和拆箱。) 至于 一般而言 ,我认为没有比这更方便的方法了。 我们可以做这样的事情: 但是你总会过夏天。也是有问题的,因为它返回了。上面的方法为一个空的映射抛出一个异常,但是一个空的和应该为0。当然,我们也可以传递0:

  • 问题内容: 在java中如何根据value排序一个map?例如 根据Value排序 问题答案: 通用的版本:

  • 我试图在二维数组中反转数组。 我做了一个函数,它接受二维数组的,并在上面执行。这将获取每个内部数组并将其反转。然后,我尝试将刚刚反转的独立数组,并尝试对其进行以反转数组内的每个值(

  • 问题内容: 我很难解决这个问题的解决方案。我正在尝试用Java开发一个程序,该程序需要一个数字,例如321,并找到数字的总和,在这种情况下为3 + 2 + 1 =6。我需要任何三个数字的所有数字将它们加在一起,并使用%剩余符号存储该值。这让我感到困惑,我想感谢任何人的想法。 问题答案: 输出量