Question Comment faire la somme des valeurs de Java Hashmap [dupliquer]


Cette question a déjà une réponse ici:

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

Ce sont les valeurs de la 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 je possède 10 ou 20 valeurs sur une carte, comment puis-je les additionner, dois-je faire un "pour"?

Cordialement et merci pour l'aide.


16
2018-02-09 21:52


origine


Réponses:


Si vous devez ajouter tout les valeurs dans un Map, essaye ça:

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

A la fin, le sum variable contiendra la réponse. Donc oui, pour parcourir un Maples valeurs il est préférable d'utiliser un for boucle.


13
2018-02-09 21:54



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 seulement:

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

4
2018-02-09 21:57



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

//sum now contains the sum!

UNE for la boucle sert bien à l'usage prévu, bien que vous puissiez aussi utiliser une boucle while et un itérateur ...


4
2018-02-09 21:54