Vektor in Java | Java-Vektorklasse mit Beispielen

Veröffentlicht: 2021-05-26

Bei der Programmierung ist Vector in Java eine der am häufigsten verwendeten Datenstrukturen. Arrays sind statische Datenstrukturen, die Daten linear speichern können. In ähnlicher Weise speichert Vector in Java die Daten auch linear, sie sind jedoch nicht auf eine feste Größe beschränkt. Stattdessen kann seine Größe je nach Bedarf wachsen oder schrumpfen. Die übergeordnete Klasse ist die AbstractList-Klasse und wird auf der List-Schnittstelle implementiert.

Bevor Sie beginnen, Vektoren zu verwenden, importieren Sie sie wie folgt aus dem java.util.package:

import java.util.Vector

Inhaltsverzeichnis

Deklaration und Bewertung von Elementen eines Vektors

So wird ein Vektor in Java deklariert:

Die öffentliche Klasse Vector<V> erweitert AbstractList<V>

implementiert List<V>, RandomAccess, Cloneable, Serializable

Hier ist V der Elementtyp, der int, string, char usw. sein kann.

So wie wir auf Datenelemente in Arrays zugreifen, können wir dies auch in Vektoren tun, indem wir den Index des Elements verwenden. Beispielsweise kann auf das zweite Element von Vektor E als E[2] zugegriffen werden.

Einige häufige Fehler beim Deklarieren eines Vektors in Java:

  • Eine IllegalArgumentException wird ausgelöst, wenn die Anfangsgröße des Vektors ein negativer Wert ist
  • Eine NullPointerException wird ausgelöst, wenn die angegebene Sammlung null ist
  • Die Größe des Vektors ist kleiner oder gleich der Kapazität des Vektors
  • Die Kapazität wird in jedem Inkrementzyklus verdoppelt, wenn kein Vektorinkrement angegeben ist

Konstrukteure

1. Vektor (int initialCapacity, int Increment)

Dadurch wird in Java ein Vektor mit einer angegebenen Anfangskapazität erstellt, und das Inkrement wird ebenfalls angegeben. Mit Increment wird die Anzahl der Elemente angegeben, die jedes Mal zugewiesen werden, wenn der Vektor in der Größe nach oben geändert wird.

Syntax: Vector<V> e = new Vector<V>(int initialCapacity, int Increment);

2. Vektor (int Anfangskapazität)

Es erstellt einen Vektor in Java mit einer Anfangskapazität, die der angegebenen Größe entspricht.

Syntax: Vector<V> e = new Vector<V>(int initialCapacity);

3. Vektor ()

Es erstellt einen Vektor in Java mit einer anfänglichen Standardkapazität von 10.

Syntax: Vektor<V> e = neuer Vektor<V>();

4. Vektor (Sammlung c)

Es erstellt einen Vektor in Java, dessen Elemente die der Sammlung c sind.

Syntax: Vector<V> e = new Vector<V>(Collection c);

Hier ist ein Beispiel, um die Erstellung und Verwendung eines Vektors in Java zu demonstrieren:

Code

java.util.* importieren;

öffentliche Klasse Main{

public static void main(String[] args)

{

// Standardvektor erstellen

Vektor a = neuer Vektor();

// Erstellen Sie einen Vektor der angegebenen Größe

Vektor b = neuer Vektor (20);

// Erstellen Sie einen Vektor mit angegebener Größe und Inkrement

Vektor c = neuer Vektor (30,10);

b.add(100);

b.add(200);

b.add(300);

// Erstellen Sie einen Vektor mit einer angegebenen Sammlung

Vektor d = neuer Vektor(b)

System.out.println("Vektor a der Kapazität" + a.capacity());

System.out.println("Vektor b der Kapazität" + b.capacity());

System.out.println("Vektor c der Kapazität" + c.capacity());

System.out.println("Vektor d der Kapazität" + d.capacity());

}}

Ausgabe

Hinweis: .capacity() wird verwendet, um die Kapazität des Vektors zurückzugeben.

Ein Vektor in Java hat drei geschützte Parameter wie folgt:

1. Int elementCount() – Gibt die Anzahl der Elemente an, die ein Vektor enthält

2. Int capcityIncremen()- Wenn die Größe des Vektors größer als die Kapazität wird, wird die Kapazität automatisch damit erhöht.

3. Object[] elementData() – Elemente des Vektors werden in einem Array gespeichert.

Methoden

Hier sind einige häufig verwendete Vektormethoden in Java:

1. Elemente hinzufügen

Boolean add(Object o) – Ein Element wird am Ende des Vektors angehängt

Void add( int index V element) – Das angegebene Element wird zum angegebenen Index im Vektor hinzugefügt

Code zum Hinzufügen der Elemente in Vector in Java:

java.util.* importieren;

java.io.* importieren;

öffentliche Klasse AddElementsToVector {

public static void main(String[] arg)

{

// Erstellen Sie einen Standardvektor

Vektor a = neuer Vektor();

// Hinzufügen von Elementen mit der Methode add()

a.add(1);

a.add(2);

a.add("vect");

a.add(“für”);

a.add(3);

System.out.println("Vektor a ist " + a);

// Erstellen Sie einen generischen Vektor

Vektor<Ganzzahl> b = neuer Vektor<Ganzzahl>();

b.add(0);

b.add(1);

b.add(2);

System.out.println("Vektor b ist " + b);

}

}

Ausgabe

2. Elemente entfernen

Boolean Remove(object o) – wird verwendet, um das Element am angegebenen Index im Vektor zu entfernen

Wenn das Element entfernt wird, werden alle Elemente nach links verschoben, um die Lücken zu füllen; die Indizes werden dann aktualisiert.

Code zur Veranschaulichung des Entfernens von Elementen aus Vektor in Java:

java.util.* importieren;

java.io.* importieren;

öffentliche Klasse Entfernen {

public static void main(String[] arg)

{

// Erstellen Sie einen Standardvektor

Vektor a = neuer Vektor();

// Hinzufügen von Elementen mit der Methode add()

a.add(1);

a.add(2);

a.add("vect");

a.add(“für”);

a.add(4);

// Element entfernen

a. entfernen (2);

// Überprüfen

System.out.println(“nach dem Entfernen: ” + a);

}

}

Ausgabe

Checkout: Wie macht man eine erfolgreiche Karriere in Java?

3. Elemente ändern

Die Methode set() kann verwendet werden, um das Element nach dem Hinzufügen der Elemente zu ändern. Der Index des Elements kann referenziert werden, wenn ein Vektor indiziert wird. Diese Methode nimmt den Index und das aktualisierte Element.

Code zum Ändern der Elemente im Vektor in Java

java.util.* importieren;

öffentliche Klasse Update {

public static void main(String args[])

{

// Erstellen Sie einen leeren Vektor

Vektor<Ganzzahl> a = neuer Vektor<Ganzzahl>();

// Elemente hinzufügen

a.add(1);

a.add(2);

a.add(3);

a.add(10);

a.add(20);

// Anzeige

System.out.println(“Vektor: ” + a);

// Ersetzen

System.out.println ("Ersetzen"

+ a.set(0, 22));

System.out.println („Ersetzen von „

+ a.set(4, 50));

// Zeigt den geänderten Vektor an

System.out.println("Der neue Vektor ist:" + a);

}

}

Ausgabe

4. Iteriere den Vektor

Es gibt mehrere Möglichkeiten, einen Vektor zu durchlaufen. Eine davon ist die Methode get(). Hier ist ein Programm zum Iterieren der Elemente in einem Vektor in Java:

java.util.* importieren;

öffentliche Klasse Iterieren {

public static void main(String args[])

{

// Erstellen einer Vektorinstanz

Vektor<String> a = neuer Vektor<>();

// Elemente mit der Methode add() hinzufügen

a.add("Vektor");

a.add("in");

a.add(1, „Java“);

// Verwenden Sie die Get-Methode und die for-Schleife

for (int i = 0; i < a.size(); i++) {

System.out.print(a.get(i) + ” “);

}

System.out.println();

// Für jede Schleife verwenden

für (String str : a)

System.out.print(str + ” “);

}

}

Ausgabe

Lesen Sie: Java-Architektur und -Komponenten

Andere wichtige Methoden

  • Int size() – wird verwendet, um die Größe des Vektors zurückzugeben
  • Object get(int index) – wird verwendet, um das Element an der angegebenen Position im Vektor zurückzugeben
  • Object firstElement() – wird verwendet, um das erste Element des Vektors in Java zurückzugeben
  • Object lastElement() – wird verwendet, um das letzte Element des Vektors in Java zurückzugeben
  • Boolean equals(Object o) – wird verwendet, um den Vektor mit dem gegebenen Objekt auf Gleichheit zu vergleichen. Gibt wahr zurück, wenn alle Elemente an ihren jeweiligen Indizes wahr sind
  • Void trimtosize() – wird verwendet, um zusätzliche Kapazität zu entfernen und die Kapazität gleich der Größe zu halten

Mehr über Vektoren

  • Ein Vektor in Java ist eine dynamische Datenstruktur, auf die über einen ganzzahligen Index zugegriffen werden kann.
  • Obwohl es ArrayList ähnlich ist, ist es synchronisiert und enthält einige Legacy-Methoden, die im Sammlungsframework nicht verfügbar sind.
  • Anzeigenreihenfolge wird beibehalten.
  • Es wird selten in einer Nicht-Thread-Umgebung verwendet.
  • Aufgrund der Synchronisierung haben Vektoren eine schlechte Leistung beim Suchen, Hinzufügen, Aktualisieren und Löschen von Elementen.
  • Iteratoren der Vektorklasse schlagen schnell fehl und lösen die ConcurrentModificationException im Falle einer gleichzeitigen Änderung aus.
  • Ein Stapel ist seine direkt bekannte Unterklasse.

Speicherzuweisung in Vektoren

Wie oben gesehen, haben Vektoren keine definierte Größe. Stattdessen kann ein Vektor in Java seine Größe dynamisch ändern. Es wird angenommen, dass die Vektoren unbestimmten Platz zum Speichern von Elementen zuweisen. Dem ist jedoch nicht so. Die Größe des Vektors wird basierend auf zwei Feldern geändert – „Kapazitätsinkrement“ und „Kapazität“.

Wenn ein Vektor deklariert wird, wird ein 'Kapazitäts'-Feld gleich der Größe zugeordnet und Elemente gleich der Kapazität können hinzugefügt werden. Sobald das nächste Element eingefügt wird, wird die Größe des Arrays um 'capacityIncrement' size erhöht. Dadurch kann der Vektor seine Größe ändern – die Kapazität verdoppelt sich für einen Standardkonstruktor, wenn ein neues Element eingefügt wird.

Lernen Sie Softwarekurse online von den besten Universitäten der Welt. Verdienen Sie Executive PG-Programme, Advanced Certificate-Programme oder Master-Programme, um Ihre Karriere zu beschleunigen.

Vorteile von Vector in Java

Die dynamische Größe von Vektoren vermeidet Speicherverschwendung, und die Größe unserer Datenstruktur kann jederzeit mitten im Programm geändert werden.

Sowohl Vektoren als auch ArrayLists sind dynamisch. Vektoren sind jedoch vorteilhafter als:

  • Vektoren werden synchronisiert.
  • Es hat einige Legacy-Funktionen, die nicht auf ArrayLists implementiert werden können.

Fazit

Ein Vektor in Java ist ein dynamisches Array ohne Größenbeschränkung, das seit Java 1.2 Teil des Java Collection Framework ist. Wir haben in diesem Blog verschiedene Konstruktoren und allgemein verwendete Methoden von Vektoren gesehen. Beachten Sie auch, dass die Vector-Klasse nur in einer Thread-sicheren Umgebung verwendet werden sollte.

Wenn Sie mehr über Java, OOPs und Full-Stack-Softwareentwicklung erfahren möchten, besuchen Sie das Executive PG-Programm in Softwareentwicklung von upGrad & IIIT-B – Spezialisierung auf Full-Stack-Entwicklung, das für Berufstätige konzipiert ist und mehr als 500 Stunden bietet Strenge Schulungen, mehr als 9 Projekte und Aufgaben, IIIT-B-Alumni-Status, praktische praktische Abschlussprojekte und Arbeitsunterstützung bei Top-Unternehmen.

Was ist ein Vektor in Java?

Ein Vektor ist eine Datenstruktur in Java. Wie der Name schon sagt, ist ein Vektor eine Art Folge von Elementen. Es verwendet ein dynamisches Array, das beim Zugriff wächst und schrumpft. Es hat eine size()-Methode, um die aktuelle Größe des Vektors zu erhalten, und eine capacity()-Methode, um die Kapazität des Vektors zu erhalten. Diese beiden Methoden geben die Werte größer als Null zurück. Die Kapazität des Vektors ist die Anzahl der Elemente, die innerhalb des Vektors gespeichert werden können, ohne dass ein neues Array zugewiesen werden muss. Die Größe des Vektors ist die Anzahl der aktuell im Vektor gespeicherten Elemente.

Welche Vorteile haben Vektoren gegenüber Arrays?

Arrays haben eine feste Größe, was bedeutet, dass sie nicht nach Bedarf wachsen oder schrumpfen können. Vektoren werden als dynamisch anpassbare Arrays implementiert, sodass sie nach Bedarf wachsen und schrumpfen können. Dies ist nützlich für ein ständiges Wachstum der Daten; Beispielsweise kann ein Programm, das Textdateien Zeile für Zeile liest, mit der Größe der Datei mitwachsen. Vektoren sind im Allgemeinen effizienter als Arrays. Dies liegt daran, dass Vektoren als Arrays von Referenzen (java.lang.Objects) implementiert werden, während Arrays als Arrays von Objekten implementiert werden.

Was ist ArrayList in Java?

Die Klasse ArrayList repräsentiert ein dynamisches Array. Es kann nach Bedarf wachsen, um neue Elemente aufzunehmen. Das Array ist tatsächlich als Liste von Verweisen auf Objekte implementiert. Immer wenn ein Element erstellt werden muss, wird ein Verweis auf ein neues Objekt zur Verfügung gestellt. Dies ist möglich, weil ArrayList als dynamisch anpassbare Liste implementiert ist. ArrayList erbt die meisten seiner Methoden und Felder von AbstractList. ArrayList ist schneller als ein Array, da keine neuen Objekte erstellt werden müssen. Mutationsmethoden, die die Größe des Arrays ändern, wie z. B. add, set und remove, werden destruktive Methoden genannt, da sie die Größe des Arrays dauerhaft ändern.