suivant: Itérer sur un ensemble
monter: Itérateurs
précédent: Itérer sur une collection
  Table des matières
  Index
Itérer sur une liste
La sous-interface
ListIterator est
spécialisée pour l'itération sur les listes, permettant de les parcourir
dans l'un ou l'autre sens et de les modifier au cours du parcours
(figure 6.4).
249#249
250#250
Outre les méthodes héritées d'Iterator, elle déclare les
méthodes suivantes :
- hasPrevious et previous, analogues à
hasNext et next et permettant un parcours
arrière ;
- add(Object o) insère o dans la liste
juste avant le prochain élément retourné par next, et juste
après le prochain élément retourné par previous, ou encore
comme seul élément si la liste était vide, et avance le curseur d'une
position (figure 6.5) ;
- set(Object o) remplace le dernier élément qui a été
retourné par next ou previous par l'objet o
(figure 6.6), à moins que add ou remove
n'ait été appelé auparavant, auquel cas une exception de type
IllegalStateException est déclenchée.
251#251
Comme toutes les collections les listes disposent d'une méthode
Iterator iterator(). Les listes disposent aussi d'une méthode
ListIterator listIterator(int n), qui retourne un itérateur
respectant l'ordre des éléments de la liste et positionne le curseur
devant l'élément d'indice n. Le parcours arrière d'une liste
l se ferait ainsi :
Iterator i = l.listIterator(l.size());
while (i.hasPrevious()) {
... i.previous() ... ;
}
ou
for (ListIterator i = l.listIterator(l.size());
i.hasPrevious();) {
... i.previous() ... ;
}
suivant: Itérer sur un ensemble
monter: Itérateurs
précédent: Itérer sur une collection
  Table des matières
  Index
Rene' LALEMENT
2002-11-07