Next: Itérations sur les tables
Up: Itérations
Previous: Itérations
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 3.2).
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 3.3) ;
- set(Object o) remplace le dernier élément retourné
par next() ou previous() par l'objet o
(figure 3.4), à moins que add() ou remove()
n'ait été appelé auparavant, auquel cas une exception de type
IllegalStateException est déclenchée.
Les listes disposent aussi d'une méthode ListIterator
listIterator(int n), qui retourne un itérateur de liste, c'est-à-dire
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 :
for (ListIterator i = l.listIterator(l.size());
i.hasPrevious();) {
if (!cond((A) i.previous())) i.remove();
}
Next: Itérations sur les tables
Up: Itérations
Previous: Itérations
R. Lalement
2000-10-23