web-dev-qa-db-ja.com

Java Hashmapから値を合計する方法

Java ando今日はハッシュマップから値の合計を取得しようとしていましたが、今は行き詰まっています。

これは、合計したいマップ値です。

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」を作成する必要がありますか?

よろしくお願いします。

23
kennechu

Mapの値を追加する必要がある場合all、これを試してください:

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

最後に、sum変数に答えが含まれます。そのため、Mapの値をトラバースするには、forループを使用するのが最善です。

16
Óscar López
Float sum = 0f;
for (Float val : map.values()){
    sum += val;
}

//sum now contains the sum!

forループは、意図した目的に実際に役立ちますが、whileループと反復子を使用することもできます...

4
luksch

あなたは間違いなくfor-loopを使用してそれを行うことができます。エントリセットを使用できます。

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

または、この場合は単に:

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