Dans ce tutoriel on va utiliser deux méthodes pour faire le parcours d'une HashMap en Java:
- Boucle for
- 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:
Références:
Parcours d'une HashMap
Interface Iterator Javadoc
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.6Dans 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