/*

Vektorelemente werden als Aufzählung ausgegeben.

Die Klasse Vector besitzt die Methode elements, mit der man die
Elemente in eine Aufzaehlung umwandeln kann.
Das Interface Enumeration aus dem Package java.util enthält zwei
abstrakte Methoden, mit denen man Aufzaehlungselemente bearbeiten
kann:
   public abstract boolean hasMoreElements();
   public abstract Object nextElement();
hasMoreElements gibt an, ob die Aufzaehlung noch weitere Elemente besitzt.
nextElement gibt das naechste Element zurueck.
Die Klasse Vector implementiert das Interface Enumeration,
stellt also diese beiden Methoden bereit.

In der Methode main() wird ein Enumeration-Objekt
zur Ausgabe aller Elemente des Vektors v verwendet.

*/

import java.util.*;

public class Aufzaehlung
{
   public static void main(String[] argv)
   {
      Vector v = new Vector(5, 3);
      Kunde p1 = new Kunde("Schmidt", "Otto", "Kiel");
      Kunde p2 = new Kunde("Adel", "Suse", "Ulm");
      Kunde p3 = new Kunde("Magg", "Eva", "Kiel");

      v.addElement((Kunde)p1);
      v.addElement((Kunde)p2);
      v.addElement((Kunde)p3);

      // Elemente einfügen
      v.insertElementAt((Kunde)p2, 1);
      v.insertElementAt((Kunde)p1, 3);
      v.insertElementAt((Kunde)p3, 2);


      // Enumeration-Objekt anlegen und initialisieren
      Enumeration alles = v.elements();
      int i = 0;

      // Aufzaehlung durchlaufen und jedes Element ausgeben
      while (alles.hasMoreElements())
      {
         Object o = alles.nextElement();

         System.out.print(i + ":");
         ((Kunde)o).drucken();

         i++;
      }
   }
}

