Ein Vector gehört zur Klasse der Collections. Collections (Sammlungen) erlauben also die Verwaltung von Objekten jeglicher Art. Es gibt da unterschiedliche Collections.
Es gibt z.B. eine Queue-Klasse, welche ein Warteschlangenprinzip realisiert. Da stopfst du also immer Elemente rein und wenn du was rausholst, erhälst du immer das älteste Element (FIFO - first in/first out). Ein Stack beschreibt einen Stapel. Du fügst also Elemente in den Stack ein oder besser, du legst Elemente auf den Stapel. Die Entnahme läuft dann eben so, dass du erst das Element zurückerhälst, welches ganz oben auf dem Stapel liegt, also ist dies ein LIFO (last in / first out).
Dann gibt es eben so Klassen, wie einen Vector. Einen Vektor kannst du dir wie ein dynamisches Array vorstellen. Beim Array hast du in Java ja immer das Problem, dass du bereits zur Instanzierungszeit eine Arraygröße festlegen musst, welche dann auch nicht veränderbar ist. Ein Vector ist dynamisch. Du instanzierst dir also einen Vector und kannst nun Elemente hinzufügen. Du musst dabei nicht darauf achten, wieviele Elemente schon in dem Vector sind. Merkt der Vector, dass er voll wird, so vergrößert er sich automatisch. Natürlich ist auch das alles irgendwie steuerbar, aber für den Anfang reicht es, den Vector einfach selbst seine Arbeit machen zu lassen:
-------
Vector stringVector = new Vector();
stringVector.add("String #1");
stringVector.add("String #2");
...
for( Enumaration e = stringVector.elements(); e.hasMoreElements(); )
{
string actString = (string)e.nextElement();
//actString verarbeiten, z.B. in eine Datei schreiben lassen
}
------
Der Vektor wird also initialisiert und mit Werten bestückt. Dann kann man sich ein Enumeration-Objekt des Vektors von ihm holen. Damit kann man die Elemente nacheinander abfragen. Enumeration besitzt die Methoden hasMoreElements, um zu überprüfen, ob noch Elemente vorhanden sind, welche noch nicht abgefragt wurden und die Metode nextElement, um das nächste Element abzufragen.
Seit Java5 werden Generics von Java unterstützt. Im Beispiel oben siehst du ja, dass ein Vector prinzipiell erstmal Objekte aufnimmt. Steckst du Objekte rein, so weißt du, was drinnen steckt. Wenn du den Vektor aber wieder abfragst, siehst du natürlich nur Objekte, aber z.B. keine Strings. Es muss dann ein expliziter Cast erfolgen, um das Objekt wieder zu dem Objekttypen machen, der es war. Man läuft natürlich immer Gefahr, dass plötzlich ein Objekt drinnen steckt, welches den Cast nicht verträgt.
Man kann deshalb neuerdings während der Initialisierung angeben, was der Vector für Objekttypen akzeptieren soll:
Vector<string> stringVector = new Vector<string>();
Jetzt nimmt der Vector nur noch strings auf und entsprechend kannst du dir den Cast sparen, weil nun ja bekannt ist, welchen Typs das abgegriffene Objekt ist:
for(Enumaration<string> e = stringVector.elements(); e.hasMoreElements()

{
string actString = e.nextElement();
//actString verarbeiten, z.B. in eine Datei schreiben lassen
}
http://www.galileocomputing.de/openbook/javainsel4/javainsel_11_000.htm#Xxx999380