next up previous contents index
Next: Implémentation d'un itérateur Up: Itérations Previous: Itération sur les listes

Itérations sur les tables

À la différence des collections, les tables ne disposent pas directement d'un mécanisme d'itération. Cependant, trois méthodes permettent de voir  une table comme un ensemble :

  Map m = ...;
  Set 
    clés = m.keySet(), 
    associations = m.entrySet();
  Collection valeurs = m.values();

Chacune des trois collections obtenues dispose alors d'un mécanisme d'itération, et ce sont les seules façons d'itérer sur une table :

  for (Iterator i=clés.iterator(); i.hasNext();)
    System.out.println(i.next());

  for (Iterator i=valeurs.iterator(); i.hasNext();)
    System.out.println(i.next());

  for (Iterator i=associations.iterator(); i.hasNext();) {
    Map.Entry e = (Map.Entry) i.next();
    System.out.println(e.getKey() + " -> " + e.getValue());
  }

Outre la simple énumération des éléments (par next()), ces trois vues permettent l'opération remove().



R. Lalement
2000-10-23