/*
  Vektor mit Elementen unterschiedlicher Datentypen
  Bei der Ausgabe der Vektor-Elemente muss der aktuelle Datentyp
  mit dem Operator instanceof bestimmt werden, weil die Klasse
  Object die Methode drucken() nicht kennt.
*/

import java.util.Vector;


public class Elemente1
{
   public static void main(String[] argv)
   {
      Vector v = new Vector(5,3);

      // Kunden-Elemente an v anfuegen
      v.addElement(new Kunde("Maier", "Franz", "Ulm"));
      v.addElement(new Kunde("Schmidt", "Fritz", "Essen"));
      v.addElement(new Kunde("Mueller", "Paul", "Berlin"));
      System.out.println("Kapazitaet nach 3 Elementen: " + v.capacity());

      v.addElement(new Kunde("Schmidt", "Otto", "Kiel"));
      v.addElement(new Kunde("Adel", "Suse", "Ulm"));
      v.addElement(new Kunde("Magg", "Eva", "Kiel"));
      System.out.println("Kapazitaet nach 6 Elementen: " + v.capacity());

      v.addElement(new Kunde("Zimmer", "Edith", "Ulm"));

      // Konto-Elemente einfügen
      v.insertElementAt(new Konto(4711, 1234), 0);
      v.insertElementAt(new Konto(79033, 43210), 3);
      System.out.println("Kapazitaet nach 9 Elementen: " + v.capacity() + "\n");

      v.insertElementAt(new Konto(1248, -134209), 7);

      System.out.println("Alles ausgeben\n--------------");
      for (int i = 0; i < v.size(); i++)
      {
         Object o = v.elementAt(i);
         System.out.print(i + ": ");
         if (o instanceof Kunde)
            ((Kunde)o).drucken();
         else
            ((Konto)o).drucken();
      }
   }
}

