web-dev-qa-db-fra.com

Comment additionner les valeurs de Java Hashmap

J'ai besoin d'aide, j'apprends par moi-même comment gérer les cartes en Java ando aujourd'hui, j'essayais d'obtenir la somme des valeurs d'un Hashmap mais maintenant je suis bloqué.

Ce sont les valeurs de carte que je veux additionner.

HashMap<String, Float> map = new HashMap<String, Float>();

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

Ass une question supplémentaire, que se passe-t-il si j'ai 10 ou 20 valeurs dans une carte, comment puis-je les additionner, dois-je faire un "pour"?

Cordialement et merci pour l'aide.

23
kennechu

Si vous devez ajouter all les valeurs dans un Map, essayez ceci:

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

À la fin, la variable sum contiendra la réponse. Donc oui, pour parcourir les valeurs d'un Map, il est préférable d'utiliser une boucle for.

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

//sum now contains the sum!

Une boucle for sert en effet bien à l'usage prévu, bien que vous puissiez également utiliser une boucle while et un itérateur ...

4
luksch

Vous pouvez certainement le faire en utilisant un for-loop. Vous pouvez soit utiliser un jeu d'entrées:

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

ou dans ce cas juste:

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