La boucle foreach (appelée "boucle for avancée" et en anglais "enhanced for loop ou advanced for loop") a été intégrée depuis Java 5, est équivalente à java.util.Iterator. Donc, lors de la lecture d'un élément, un par un dans l'ordre, la boucle foreach est le bon choix, parce qu'elle est plus pratique.
Exemple:
JavaDoc: The For-Each Loop
Syntaxe de foreach
La boucle foreach est utilisée pour parcourir les tableaux ainsi que les collections d'objets.
Exemple:for(type variable : tableau | collection){ . . }
for(String s : listString) { System.out.println(s); }
Parcours d'un tableau avec foreach en java
public class Boucles { public static void main(String[] args) { String[] tstring = {"aa","ab","ac","ad","ae"}; for(String s : tstring) System.out.println(s); } }Sortie:
aa ab ac ad ae
Parcours de collection d'objets avec foreach
public class Parcours_List_foreach { public static void main(String[] args) { ArrayListExécution:arraylist = new ArrayList (); arraylist.add("e1"); arraylist.add("e2"); arraylist.add("e3"); arraylist.add("e4"); for(String s : arraylist){ System.out.println(s); } } }
e1 e2 e3 e4
Remarque: Il y a des situations où vous devez utiliser directement Iterator par exemple, la suppression d'un élément en utilisant foreach peut causer une exception ConcurrentModificationException. |
IteratorRéférences:iterator = liste.iterator(); while(iterator.hasNext()) { System.out.println(iterator.next()); }
JavaDoc: The For-Each Loop