Comment parcourir une HashMap en Java

Dans ce tutoriel on va utiliser deux méthodes pour faire le parcours d'une HashMap en Java:
  1. Boucle for
  2. Boucle while + Iterator
Dans l'exemple ci-dessous, on est entrain de parcourir la table de hachage HashMap en utilisant les deux méthodes: for et iterator à l'intérieur de la boucle while.

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

public class parcoursHashMap {

public static void main(String[] args) {

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

map.put("A",12.0);
map.put("B",42.1);
map.put("C",5.6);
map.put("D",29.7);

//Boucle for
System.out.println("Boucle for:");
for (Map.Entry mapentry : map.entrySet()) {
System.out.println("clé: "+mapentry.getKey()
+ " | valeur: " + mapentry.getValue());
}

//Boucle while+iterator
System.out.println("Boucle while");
Iterator iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry mapentry = (Map.Entry) iterator.next();
System.out.println("clé: "+mapentry.getKey()
+ " | valeur: " + mapentry.getValue());
}
}
}
Exécution:

Boucle for:
Key: D | valeur: 29.7
Key: A | valeur: 12.0
Key: B | valeur: 42.1
Key: C | valeur: 5.6
Boucle while
Key: D | valeur: 29.7
Key: A | valeur: 12.0
Key: B | valeur: 42.1
Key: C | valeur: 5.6
Dans les deux cas, on récupère l'ensemble de données clé-valeur dans l'objet Map.Entry. Dans la boucle for, on a utilisé la méthode entrySet() de la classe Map. Dans la boucle while, on a récupéré un objet Iterator et après l'obtention de l'ensemble de clé-valeur, puis, on a mis un cast en Map.Entry pour imprimer les clés et les valeurs avec les deux méthode getKey() et getValue().

Références:
Parcours d'une HashMap
Interface Iterator Javadoc