Java Vector (mit Beispielen)

In diesem Tutorial lernen wir die Vector-Klasse und ihre Verwendung kennen. Wir werden auch lernen, wie es sich von der ArrayList-Klasse unterscheidet und warum wir stattdessen Array-Listen verwenden sollten.

Die VectorKlasse ist eine Implementierung der ListSchnittstelle, mit der wir Arrays mit veränderbarer Größe ähnlich der ArrayList-Klasse erstellen können.

Java Vector vs. ArrayList

In Java implementiert ArrayListund Vectorimplementiert die ListSchnittstelle und bietet die gleichen Funktionen. Es gibt jedoch einige Unterschiede zwischen ihnen.

Die VectorKlasse synchronisiert jede einzelne Operation. Das heißt, wenn wir eine Operation für Vektoren ausführen möchten, Vectorwendet die Klasse automatisch eine Sperre auf diese Operation an.

Wenn ein Thread auf einen Vektor zugreift und gleichzeitig ein anderer Thread versucht, darauf zuzugreifen, wird eine aufgerufene Ausnahme ConcurrentModificationExceptiongeneriert. Daher macht diese kontinuierliche Verwendung der Sperre für jede Operation Vektoren weniger effizient.

In Array-Listen werden Methoden jedoch nicht synchronisiert. Stattdessen wird die Collections.synchronizedList()Methode verwendet, mit der die Liste als Ganzes synchronisiert wird.

Hinweis: Es wird empfohlen, ArrayListanstelle von zu verwenden, Vectorda Vektoren nicht threadsicher und weniger effizient sind.

Erstellen eines Vektors

So können wir Vektoren in Java erstellen.

 Vector vector = new Vector(); 

Hier gibt Typ den Typ einer verknüpften Liste an. Beispielsweise,

 // create Integer type linked list Vector vector= new Vector(); // create String type linked list Vector vector= new Vector(); 

Methoden des Vektors

Die VectorKlasse stellt auch die Implementierungen der ListSchnittstelle mit veränderbaren Arrays der Schnittstelle bereit (ähnlich der ArrayListKlasse). Einige der VectorMethoden sind:

Elemente zum Vektor hinzufügen

  • add(element) - fügt Vektoren ein Element hinzu
  • add(index, element) - fügt der angegebenen Position ein Element hinzu
  • addAll(vector) - fügt alle Elemente eines Vektors einem anderen Vektor hinzu

Beispielsweise,

 import java.util.Vector; class Main ( public static void main(String() args) ( Vector mammals= new Vector(); // Using the add() method mammals.add("Dog"); mammals.add("Horse"); // Using index number mammals.add(2, "Cat"); System.out.println("Vector: " + mammals); // Using addAll() Vector animals = new Vector(); animals.add("Crocodile"); animals.addAll(mammals); System.out.println("New Vector: " + animals); ) ) 

Ausgabe

 Vektor: (Hund, Pferd, Katze) Neuer Vektor: (Krokodil, Hund, Pferd, Katze) 

Zugriff auf Vektorelemente

  • get(index) - gibt ein vom Index angegebenes Element zurück
  • iterator() - gibt ein Iteratorobjekt zurück, um sequentiell auf Vektorelemente zuzugreifen

Beispielsweise,

 import java.util.Iterator; import java.util.Vector; class Main ( public static void main(String() args) ( Vector animals= new Vector(); animals.add("Dog"); animals.add("Horse"); animals.add("Cat"); // Using get() String element = animals.get(2); System.out.println("Element at index 2: " + element); // Using iterator() Iterator iterate = animals.iterator(); System.out.print("Vector: "); while(iterate.hasNext()) ( System.out.print(iterate.next()); System.out.print(", "); ) ) ) 

Ausgabe

 Element bei Index 2: Katze Vektor: Hund, Pferd, Katze, 

Vektorelemente entfernen

  • remove(index) - Entfernt ein Element von der angegebenen Position
  • removeAll() - Entfernt alle Elemente
  • clear()- Entfernt alle Elemente. Es ist effizienter alsremoveAll()

Beispielsweise,

 import java.util.Vector; class Main ( public static void main(String() args) ( Vector animals= new Vector(); animals.add("Dog"); animals.add("Horse"); animals.add("Cat"); System.out.println("Initial Vector: " + animals); // Using remove() String element = animals.remove(1); System.out.println("Removed Element: " + element); System.out.println("New Vector: " + animals); // Using clear() animals.clear(); System.out.println("Vector after clear(): " + animals); ) ) 

Ausgabe

 Anfangsvektor: (Hund, Pferd, Katze) Entferntes Element: Pferd Neuer Vektor: (Hund, Katze) Vektor nach clear (): () 

Andere Vektormethoden

Methoden Beschreibungen
set() ändert ein Element des Vektors
size() Gibt die Größe des Vektors zurück
toArray() konvertiert den Vektor in ein Array
toString() konvertiert den Vektor in einen String
contains() Durchsucht den Vektor nach dem angegebenen Element und gibt ein boolesches Ergebnis zurück

Interessante Beiträge...