Comment parcourir une HashSet en Java

Java offre 3 moyens pour faire le parcours à travers HashSet en Java:
  1. Boucle foreach
  2. Boucle while avec Iterator
  3. Boucle while avec java.util.Enumeration
L'exemple qui suit rassemble les 3 cas sans Iterator ou avec Iterator et imprime les résultats:

import java.util.Collections;
import java.util.Enumeration;
import java.util.HashSet;
import java.util.Iterator;

public class parcours_hashset {

public static void main(String[] args) {

HashSet<String> hset = new HashSet<String>();

hset.add("he1");
hset.add("he2");
hset.add("he3");

/*Boucle For Avancée*/
System.out.println("Boucle for avancée");
for(String s : hset)
System.out.println(s);

/*Boucle While+Iterator*/
System.out.println("Boucle While+Iterator");
Iterator it = hset.iterator();
while(it.hasNext())
System.out.println(it.next());

/*Ennumération*/
System.out.println("Boucle While+Ennumération");
// récupérer l'objet Ennumeration
Enumeration enumeration = Collections.enumeration(hset);

// lire à travers les éléments de HashSet
while(enumeration.hasMoreElements())
System.out.println(enumeration.nextElement());
}
}
Voyons ce qui se passe en exécutant ce programme:

Boucle for avancée
he3
he1
he2
Boucle While+Iterator
he3
he1
he2
Boucle While+Ennumération
he3
he1
he2
La méthode iterator() est utilisée pour obtenir un iterator à travers les éléments de HashSet ou de Set. Les éléments sont retournés mélangés et sans un ordre spécifique.

L'interface java.util.Enumeration retourne un objet qui génère une série d'éléments et utilise deux méthode: hasMoreElements() pour vérifier s'il y a encore des éléments, si oui, il récupère l'élément suivant avec la méthode nextElement().

Références:
java.util.HashSet.iterator() Method
JavaDoc: Interface Enumeration<E>