Comment parcourir une HashSet en Java
Java offre 3 moyens pour faire le parcours à travers HashSet en Java:
- Boucle foreach
- Boucle while avec Iterator
- Boucle while avec java.util.Enumeration
L'exemple qui suit rassemble les 3 cas sans Iterator ou avec Iterator et imprime les résultats:
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>
import java.util.Collections;Voyons ce qui se passe en exécutant ce programme:
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");
Iteratorit = 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
Enumerationenumeration = Collections.enumeration(hset);
// lire à travers les éléments de HashSet
while(enumeration.hasMoreElements())
System.out.println(enumeration.nextElement());
}
}
Boucle for avancéeLa 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.
he3
he1
he2
Boucle While+Iterator
he3
he1
he2
Boucle While+Ennumération
he3
he1
he2
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>