L'interface Enumeration fournit seulement deux méthodes permettant de parcourir les éléments d'un vecteur, les clés et les valeurs d''une table de hachage.

Vector vecteur = new Vector();
Enumeration enumeration = vecteur.elements();

Hashtable tableHachage = new Hashtable();
Enumeration enumValeur = tableHachage.elements();
Enumeration enumCle = tableHachage.keys();

Les objets implémentant l'interface Enumeration génère une série d'éléments à partir d'une liste ou d'un map, par l'intermédiaire de la méthode nextElement() qui retourne un élément des collections précitées et la seconde méthode hasMoreElements() teste s'il n'y a plus d'éléments dans l'objet Enumeration.

Les méthodes
boolean hasMoreElements()
retourne true si l'énumération n'a plus d'éléments.
Object nextElement()
retourne le prochaîn élément de l'itérateur.

Le fonctionnement de l'interface Enumeration consiste à obtenir un énumérateur à partir de la collection courante, puis au sein d'une boucle permettant d'accéder à chaque élément (nextElement()), vérifier dans la condition d'arrêt si l'énumérateur ne comporte plus d'éléments (hasMoreElement()).

Enumeration e = vecteur.elements();
while (!e.hasMoreElements()) {
    System.out.println(e.nextElement());
}

L'interface Enumeration a été abandonnée au bénéfice de l'interface Iterator possédant des noms de méthode plus courts, et surtout ajoutant une fonctionnalité supplémentaire, une opération de suppression.

Exemple [voir]
import java.util.Enumeration;
import java.util.Hashtable;
import java.util.Vector;

public class CollectionEnumeration {
    public static void main(String[] args) {
      Vector vecteur = creerVecteur();
      for (Enumeration enumerateur = 
            vecteur.elements() ; enumerateur.hasMoreElements() ;) {
        System.out.println(enumerateur.nextElement());
      }
      int j = 1;
      Hashtable tableHachage = creerTableHachage();
      for (Enumeration enumValeur = 
            tableHachage.elements(); enumValeur.hasMoreElements() ;) {
        System.out.println(j++ + " : " + enumValeur.nextElement());
      }
      j = 0;
      for (Enumeration enumCle = 
            tableHachage.keys(); enumCle.hasMoreElements() ;) {
        System.out.println(j++ + " : " + enumCle.nextElement());
      }
    }
    public static Vector creerVecteur(){
      Vector vecteur = new Vector();
      for(int i = 1; i <= 7; i++){
        vecteur.add(new Integer(i));
      }
      return vecteur;
    }
    public static Hashtable creerTableHachage(){
      String[] joursSemaine = {"lundi", "mardi", "mercredi", "jeudi", 
                               "vendredi", "samedi", "dimanche"};
      String[] daysOfWeek = {"sunday", "monday", "tuesday", "wednesday", 
                             "thursday", "friday", "saturday"};
      Hashtable tableHachage = new Hashtable();
      for(int i = 0; i < joursSemaine.length; i++){
        tableHachage.put(daysOfWeek[i < joursSemaine.length - 1 ? i+1 : 0], 
                                                              joursSemaine[i]);
        System.out.println(tableHachage.toString());
      }
      return tableHachage;
    }
}