Kann mir jemand erklären was eine Vector klasse in Java ist?

2 Antworten

Man schreibt sie nicht, man benutzt sie. Aber eigentlich benutzt man sie nicht mehr. Nimm ArrayList anstatt dessen. Der Unterschied ist, dass der Vector synchronisiert ist - brauchst du nur bei Multi-Threading.

Eine ArrayList ist eine geordnete Liste von Objekten mit den entsprechenden Zugriffsmethoden - add, remove, get, size etc.

Die Klasse Vector aus dem Paket java.util ist die Java-Repräsentation einer linearen Liste. Die Liste kann Elemente beliebigen Typs enthalten, und ihre Länge ist zur Laufzeit veränderbar. Vector erlaubt das Einfügen von Elementen an beliebiger Stelle und bietet sowohl sequentiellen als auch wahlfreien Zugriff auf die Elemente. Das JDK realisiert einen Vector als Array von Elementen des Typs Object. Daher sind Zugriffe auf vorhandene Elemente und das Durchlaufen der Liste schnelle Operationen. Löschungen und Einfügungen, die die interne Kapazität des Arrays überschreiten, sind dagegen relativ langsam, weil Teile des Arrays umkopiert werden müssen. In der Praxis können diese implementierungsspezifischen Details allerdings meist vernachlässigt werden, und ein Vector kann als konkrete Implementierung einer linearen Liste angesehen werden. 11.3.1 Vektoren erzeugen 

Um ein Vector-Objekt zu erzeugen, existieren vier Konstruktoren.

class java.util.Vectorextends AbstractList
implements List, Cloneable, Serializable

Vector()

Ein leerer Vektor mit einer Anfangskapazität von zehn Elementen wird angelegt. 

Vector( int initialCapacity )

Ein leerer Vektor wird angelegt, der Platz für zunächst

initialCapacity

Elemente bietet, ohne dass der Vektor vergrößert werden muss. 

Vector( int initialCapacity, int capacityIncrement )

Ein Vektor mit Platz für zunächst

initialCapacity

Elemente wird angelegt. Zusätzlich beschreibt die Zahl

capacityIncrement

, um wie viele Elemente die Kapazität des Vektors jedes Mal erhöht wird, wenn der verfügbare Platz erschöpft ist. 

Vector( Collection c )

Nimmt ein Objekt vom Typ

Collection

als Parameter entgegen Wir werden uns später näher mit der Schnittstelle

Collection

auseinandersetzen.

Beispiel

   Erstelle einen Vector

v

und fülle die Datenstruktur mit einer Zeichenkette und einer Ganzzahl.

Vector v = new Vector();
v.addElement( "ICE 924 Hildegard von Bingen" );
v.addElement( new Integer(23) );