Die Vector-Klasse von Java

Die Klasse java Vector implementiert ein Array von Objekten ähnlich ArrayList.  Auf Vektorelemente kann über einen ganzzahligen Index zugegriffen werden. Die Größe eines Vector variiert je nach Bedarf (Hinzufügen oder Entfernen von Elementen) nach der Erstellung.

Vector ist synchronisiert, was bedeutet, dass er mehrere Operationen gleichzeitig zulässt, aber keine gute Leistung bei der Verwendung von Multithreading garantiert. Es wird empfohlen, ArrayList zu verwenden, was eine gute Leistung bietet, wenn Sie die Liste nicht synchronisieren müssen.

Vector implementiert die List-Schnittstelle wie ArrayList, sein Nachteil ist, dass sie, wie erwähnt, aufgrund ihrer Synchronisation beim Hinzufügen, Suchen, Löschen und Ändern dieser Elemente eine schlechte Leistung bietet.

Die Vector-Klasse unterstützt 4 Konstruktoren:

1)Vector v = new Vector();
Dieser Konstruktor erstellt einen leeren Vektor mit einer Anfangsgröße von 10. Die Größe des Vektors wird geändert, wenn er 10 Elemente überschreitet, so dass das 11. Element in Vector eingefügt wird.

2)Vector v = new Vector(int capabilityInitial);
Diese Form initialisiert den Vektor mit einer Anfangsgröße, die die Anzahl der zuzuweisenden Elemente angibt.
Vector v = new Vector(5);//Es wird ein Vector mit der Kapazität 5.

3)Vector v = new Vector(int capabilityInitial, int capacityIncrement)
Erstellt einen Vector mit einer anfänglichen Kapazität und gibt an, wie viele Kacheln zugewiesen werden, wenn Vector die Größe der Kapazität ändert, wenn die Anzahl der Elemente die maximale Größe erreicht.
Vektor v = neuer Vektor(8);
Es wird ein Vektor mit einer Kapazität von 8 und einer inkrementellen Kapazität von 4 erstellt. Was bedeutet das, dass beim Einfügen des 9. Elements die Größe 12(8+4) und das 16. Einfügen 20(16+4) sein wird.

4)Vektor v = neuer Vektor(Sammlung c);
Initialisiert den Vektor mit einer Sammlung von Objekten (ArrayList, TreeSet, HashMap usw.).

Wichtige Methoden von Vector

Wie in ArrayList und anderen Objektsammlungen implementiert Vector die Interface List  und die interface  Collections von denen es viele Methoden zum Hinzufügen, Löschen, Suchen, Ändern erbt.

Add Item

Das Hinzufügen erfolgt mit zwei Methoden:  add() und addElement(). addElement() nach dem Einfügen erhöht sich die Größe der Liste.

import java.util.Vector; 

public class addElement{

public static void main(String[] args) {
Vector v = new Vector();

v.add(1);
v.add(2);
v.add(3);
System.out.println(v);
v.addElement(4);
System.out.println(v);
}
}
Ausgabe:

[1, 2, 3]
[1, 2, 3, 4]

Delete an element

Sie können beide mit dem Index mit der Methode < löschen span style="font-family: Courier New, Courier, minivan;" >remove(int index), entweder mit Ihrer eigenen Methode von Vector removeElementAt(int index). Das Suchen und Löschen eines Objekts ist mit der Methode remove(Object o):

import java.util.Vector; 

public class remove{

public static void main(String[] args) {
Vector v = new Vector();

v.add(1);
v.add(2);
v.add(3);
v.add(4);
System.out.println(v);
//delete with index
v.remove(2);
System.out.println("Löschen des Elements bei Index 2: "+v);
//suppressioin with object
v.remove(new Integer(1));
System.out.println("Ganzzahl löschen 1:"+v);
}
}
Ausgabe:

[1, 2, 3, 4]
delete element at index 2: [1, 2, 4]
delete integer 1:[2, 4]
Es gibt auch die Methode removeAll(Collection c) wodurch eine Teilmenge aus der Liste entfernt wird. Um die Liste zu leeren, verwenden Sie die Methode removeAll() wodurch alle Elemente gelöscht werden.

elementAt() und setElementAt()

get(int i)  oder elementAt(int i) gibt das Element auf den definierten Index i zurück und set(Objekt o,  int i) oder setElementAt(Object obj, int i) ersetzt das Element durch das Objekt obj. get() wird häufig verwendet, um Elemente zu spiegeln, während sich der Vektor bewegt. Die Kapazität wird mit der Methode size().

import java.util.Vector; 

public class Test {

public static void main(String[] args) {
Vector v = new Vector();

v.add(1);
v.add(2);
v.add(3);
v.add(4);

System.out.println("erstes Element: "+v.firstElement());
System.out.println("letztes Element: "+v.lastElement());

for(int i = 0; i< v.size(); i++)
System.out.println(v.get(i));

v.setElementAt("zwei", 1);
System.out.println(v);
}
}
Ausgabe:

first element: 1
last element: 4
1
2
3
4
[1, zwei, 3, 4]

Suche nach einem Element

Die Suche in einem Vektor ist einfach, Sie müssen die Methode aufrufen indexOf(Object o) der den Index des ersten gefundenen Vorkommens zurückgibt. Wir haben auch die Methode lastIndexOf(Object o) der den Index des zuletzt gefundenen Vorkommens zurückgibt.

import java.util.Vector; 

public class Test {

public static void main(String[] args) {
Vector v = new Vector();

v.add("java");
v.add("c");
v.add("c++");
v.add("javascript");
v.add("java");

System.out.println("erstes Vorkommen von c: "+v.indexOf("c++"));
System.out.println("letztes Vorkommen von java: "+v.lastIndexOf("java"));
}
}
Ausgabe

erstes Vorkommen von c: 2
letztes Vorkommen von java: 4

Andere Methoden:

- int Capacity(): gibt die Kapazität der Liste zurück.
- int setSize(): Ändern Sie die aktuelle Größe der Liste.
- boolean contains(Object o): prüfe, ob vector das Objekt o.
- boolean isEmpty(): gibt true zurück, wenn leer.
- Object[] toArray(): Vektor in ein Array von Objekten konvertiert.

note:
size() gibt die Größe der Liste zurück und capacity() gibt die Kapazität zurück, die die Liste aufnehmen kann. Der Vektorpfad wird also immer mit size() andernfalls wird ein Fehler angezeigt, der besagt, dass Sie die Größe überschritten haben.

References:
openclassroms vector java
javadoc: vector class