关于集合:如何从Java HASMAP中求和

How to sum values from Java Hashmap

本问题已经有最佳答案,请猛点这里访问。

我需要一些帮助,我自己在学习如何处理Java和AO中的地图,今天我试图从HASMAP中得到这些值的总和,但是现在我陷入了困境。

这是我想要求和的映射值。

1
2
3
4
HashMap<String, Float> map = new HashMap<String, Float>();

map.put("First Val", (float) 33.0);
map.put("Second Val", (float) 24.0);

还有一个问题,如果我在一张地图上有10或20个值,我该如何求和所有这些值,我需要做一个"for"吗?

谢谢你的帮助。


如果需要添加EDOCX1中的所有值(0),请尝试以下操作:

1
2
3
4
float sum = 0.0f;
for (float f : map.values()) {
    sum += f;
}

最后,sum变量将包含答案。所以是的,对于遍历Map的值,最好使用for循环。


你当然可以用for-loop来实现。您可以使用条目集:

1
2
3
for (Entry<String, Float> entry : map.entrySet()) {
    sum += entry.getValue();
}

或者在这种情况下只是:

1
2
3
for (float value : map.values()) {
    sum += value;
}


1
2
3
4
5
6
Float sum = 0f;
for (Float val : map.values()){
    sum += val;
}

//sum now contains the sum!

虽然您也可以使用while循环和迭代器…