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


Partager cet article

Voir aussi: