next up previous contents index
suivant: Itérer sur une liste monter: Itérateurs précédent: Itérateurs   Table des matières   Index


Itérer sur une collection

Toutes les collections disposent d'une méthode Iterator iterator(), qui permet d'initialiser un itérateur, de façon analogue au int i=0 qui initialise un indice de boucle entier. Il est recommandé d'utiliser toujours un itérateur, même si la collection est une liste (voir ci-dessous) et qu'un accès par indexation des éléments est possible.

Par exemple, la procédure suivante permet de supprimer d'une collection tous les éléments qui ne satisfont pas une condition représentée par une méthode boolean cond(A a), à l'aide d'une boucle while :

  static void filtre(Collection c) {
    Iterator i = c.iterator();
    while (i.hasNext()) {
      A a = (A) i.next();
      if (!cond(a)) i.remove();
    }
  }

La même procédure peut s'écrire avec une boucle for :

  static void filtre(Collection c) {
    for (Iterator i = c.iterator(); i.hasNext(); )
      (A) i.next()
      if (!cond(a)) i.remove();
  }



Rene' LALEMENT 2002-11-07