如何从Java Hashmap中对值进行求和

时间:2014-02-09 21:52:24

标签: java collections hashmap

我需要一些帮助,我自己学习如何处理Java中的地图今天我试图从Hashmap中获取值的总和,但现在我卡住了。

这是我想要求和的地图值。

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”?

关心并感谢您的帮助。

3 个答案:

答案 0 :(得分:16)

如果您需要在Map中添加所有值,请尝试以下操作:

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

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

答案 1 :(得分:4)

Float sum = 0f;
for (Float val : map.values()){
    sum += val;
}

//sum now contains the sum!

for循环确实可以很好地用于预期目的,尽管你也可以使用while循环和迭代器......

答案 2 :(得分:4)

你绝对可以使用for-loop来做到这一点。您可以使用条目集:

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

或在这种情况下只是:

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