what is java vector java vector class tutorial with examples
Dieses Tutorial erklärt anhand von Beispielen alles über die Vektordatenstruktur in Java. Sie lernen, einen Java-Vektor in Ihren Programmen zu erstellen, zu initialisieren, zu sortieren und zu verwenden:
Ein Vektor kann als ein dynamisches Array definiert werden, das von selbst wachsen oder schrumpfen kann, d. H. Der Vektor wächst, wenn mehr Elemente hinzugefügt werden, und schrumpft, wenn Elemente daraus entfernt werden.
Dieses Verhalten unterscheidet sich von statischen Arrays. Ähnlich wie bei Arrays kann auf Vektorelemente über ganzzahlige Indizes zugegriffen werden.
=> Hier finden Sie A-Z der Java-Schulungsanleitungen.
Ein Vektor kann als einer anderen dynamischen Array-Datenstruktur ähnlich angesehen werden. ArrayList mit Ausnahme der beiden folgenden Unterschiede:
- Der Vektor wird synchronisiert, d. H. Alle Methoden in Vector sind als 'synchronisiert' markiert. Sobald eine Methode aufgerufen wird, kann dieselbe Methode nur aufgerufen werden, wenn der vorherige Aufruf beendet wurde.
- Die Vektorklasse verfügt über viele Methoden, die nicht Teil des Sammlungsframeworks sind, sondern dessen Legacy-Methoden.
Was du lernen wirst:
- Java-Vektorklasse
- Wie erstelle ich einen Vektor in Java?
- Vektor initialisieren
- Vektormethoden in Java
- Vektorimplementierung
- Vollständiges Vektorbeispiel
- Sortieren Sie einen Vektor
- 2D (zweidimensionaler) Vektor
- Vektor in Array konvertieren
- Vektor gegen Array
- Vektor gegen ArrayList
- Häufig gestellte Fragen
- Fazit
- Literatur-Empfehlungen
Java-Vektorklasse
Eine Vektorklasse gehört zu den „ java.util ”Paket und implementiert List-Schnittstelle. Ein Vektor ist ein Array von Objekten oder ein Vektor von Objekten.
Eine Klassendeklaration der Vektorklasse ist unten angegeben:
public class Vector extends Object implements List, Cloneable, Serializable
Wie oben gezeigt, erweitert eine Vektorklasse “ java.lang.object ”Und implementiert List-, Cloneable- und Serializable-Schnittstellen.
Wie erstelle ich einen Vektor in Java?
Sie können ein Vektorobjekt mit einer der folgenden Vektorkonstruktormethoden erstellen.
Youtube zu MP3-Konverter, der funktioniert
Konstruktor-Prototyp | Beschreibung | |
---|---|---|
klar | Leere löschen () | Löscht den Vektor seiner Elemente. |
Vektor() | Dies ist der Standardkonstruktor der Vector-Klasse. Es wird ein leerer Vektor mit der Größe 10 erstellt. | |
Vektor (int initialCapacity) | Dieser überladene Konstruktor erstellt ein leeres Vektorobjekt mit der Kapazität = initialCapacity. | |
Vektor (int initialCapacity, int CapacityIncrement) | Diese Konstruktormethode erstellt ein leeres Vektorobjekt mit den angegebenen initialCapacity und CapacityIncrement. | |
Vektor (Sammlung c) | Ein Vektorobjekt wird mit den Anfangselementen aus der angegebenen Sammlung erstellt. C. |
Schauen wir uns die einzelnen Konstruktoren an, um Vektorobjekte zu initialisieren.
Vektor initialisieren
(i) Vektor ()
Dies ist der Standardkonstruktor der Vector-Klasse. Wenn Sie diesen Konstruktor aufrufen, wird ein Vektorobjekt mit der Standardgröße 10 erstellt.
Die allgemeine Syntax dieser Methode lautet:
Vektorobjekt = neuer Vektor ();
Zum Beispiel,
Vector vec1 = new Vector ();
Mit der obigen Anweisung wird ein neuer Vektor 'vec1' mit der Größe 10 erstellt.
(ii) Vektor (int initialCapacity)
Der überladene Konstruktor der Vector-Klasse akzeptiert 'initialCapacity' als Argument. Dieser Konstruktor erstellt ein Vektorobjekt mit der angegebenen Kapazität.
Die allgemeine Syntax der Methode lautet:
Vektorobjekt = neuer Vektor (initialCapacity);
Zum Beispiel,
Vector vec1 = new Vector (10);
Die obige Programmieranweisung erstellt ein Vektorobjekt 'vec1' mit einer Kapazität von 10, d. H. Dieser Vektor kann bis zu 10 Elemente speichern.
(iii) Vektor (int initialCapacity, int CapacityIncrement)
Dies ist ein weiterer überladener Konstruktor der Vector-Klasse, der ein Vector-Objekt mit der angegebenen Anfangskapazität und dem angegebenen Inkrement für die Kapazität erstellt.
Die allgemeine Syntax für diese Methode lautet:
Vektorobjekt = neuer Vektor (initialCapacity, CapacityIncrement);
Zum Beispiel,
Vector vec1 = new Vector(5,10);
In der obigen Anweisung beträgt die Anfangskapazität des Vektors 5 und das Inkrement 10. Dies bedeutet, wenn die 6thWenn ein Element in den Vektor eingefügt wird, wird die Kapazität des Vektors auf 15 (5 + 10) erhöht. Ebenso, wenn die 16thWenn ein Element eingefügt wird, wird die Vektorkapazität des Vektors auf 25 (15 + 10) erweitert.
(iv) Vektor (Sammlung c)
Der letzte überladene Konstruktor der Vector-Klasse verwendet eine vordefinierte Auflistung als Argument und erstellt einen Vector mit allen Elementen aus dieser Auflistung als Elementen.
Die allgemeine Syntax lautet:
Vektorobjekt = neuer Vektor (Sammlung c);
Zum Beispiel,
Vector vec1 = new Vector(aList); where aList = {1,2,3,4,5};
Mit der obigen Anweisung wird ein Vektor 'vec1' mit den Anfangselementen {1,2,3,4, 5} erstellt.
Wenn wir all diese Beschreibungen berücksichtigen, können wir ein Vektorprogramm implementieren, um diese Konstruktoren besser zu verstehen.
Vektormethoden in Java
Die folgenden Methoden werden von der Vector-Klasse in Java unterstützt.
Methodenname | Prototyp | Beschreibung |
---|---|---|
hinzufügen | Boolesches Addieren (E e) | Fügt ein bestimmtes Element am Ende des Vektors hinzu. |
Void add (int index, E element) | Fügen Sie dem Vektor am angegebenen Index ein Element hinzu. | |
füge alle Hinzu | Boolean addAll (Sammlung c) | Fügt alle Elemente aus der angegebenen Sammlung am Ende des Vektors hinzu. |
Boolean addAll (int index, Sammlung c) | Fügt alle Elemente in der angegebenen Auflistung am angegebenen Index hinzu. | |
addElement | void addElement (E obj) | Fügt das angegebene Element am Ende des Vektors hinzu, indem die Vektorgröße erhöht wird. |
Kapazität | Int Kapazität () | Gibt die aktuelle Kapazität des Vektors zurück. |
Klon | Objektklon () | Klont den Vektor. |
Enthält | Boolescher Wert enthält (Objekt o) | Überprüft, ob der Vektor das angegebene Element enthält. |
enthältAlle | Boolean enthältAll (Sammlung c) | Überprüft, ob der Vektor alle in einer bestimmten Sammlung vorhandenen Elemente enthält. |
copyInto | Void copyInto (Object () anArray) | Kopiert die Vektorelemente in ein bestimmtes Array. |
ElementAt | E ElementAt (int index) | Gibt das Vektorelement am angegebenen Index zurück. |
Elemente | Aufzählungselemente () | Gibt aufgezählte Komponenten für den Vektor zurück. |
Stellen Sie sicher, dass die Kapazität | Void sureCapacity (int minCapacity) | Erhöht die Kapazität des Vektors, um die angegebene Mindestkapazität zu erreichen. |
Methodenname | Prototyp | Beschreibung |
---|---|---|
insertElementAt | Void insertElementAt (E obj, int index) | Fügt das angegebene Objekt am angegebenen Index in den Vektor ein. |
Gleich | Boolescher Wert gleich (Objekt o) | Vergleicht den aktuellen Vektor mit dem angegebenen Vektor, um zu überprüfen, ob sie gleich sind. |
firstElement | E firstElement () | Gibt das erste Element des Vektors bei Index 0 zurück. |
Erhalten | E get (int index) | Gibt das Element im Vektor am angegebenen Index zurück. |
Hash-Code | int hashCode () | Gibt den Hashcode-Wert für den Vektor zurück. |
Index von | int indexOf (Objekt o) | findet den Index des ersten Auftretens des gegebenen Elements im Vektor; -1 wenn das Element im Vektor nicht vorhanden ist. |
int indexOf (Objekt o, int index) | Durchsucht den Vektor aus dem angegebenen Index in Vorwärtsrichtung nach dem angegebenen Element und gibt den Index zurück, wenn ein Element gefunden wird, andernfalls -1, wenn das Element nicht gefunden wird. | |
ist leer | Boolean isEmpty () | Überprüft, ob der Vektor leer ist. |
Iterator | Iteratoriterator () | Gibt einen Iterator zurück, mit dem die Elemente des Vektors durchlaufen werden. |
lastElement | E lastElement () | Gibt das letzte Element des Vektors zurück. |
lastIndexOf | Int lastIndexOf (Objekt o) | Durchsucht den Vektor nach dem letzten Vorkommen eines bestimmten Elements und gibt den Index zurück oder gibt -1 zurück, wenn das Element nicht gefunden wurde. |
Int lastIndexOf (Objekt o, int index) | Startet die Suche nach dem letzten Vorkommen des angegebenen Elements ab dem angegebenen Index rückwärts. Gibt den Index zurück, wenn ein Element gefunden wird. Andernfalls wird -1 zurückgegeben. | |
listIterator | ListIteratorlistIterator () | Gibt einen Listeniterator über die Vektorelemente zurück. |
ListIteratorlistIterator (int index) | Gibt einen Listeniterator über die Vektorelemente ab dem angegebenen Index zurück. |
Methodenname | Prototyp | Beschreibung |
---|---|---|
removeRange | protected void removeRange (int fromIndex, int toIndex) | Löscht alle Elemente aus dem Vektor im angegebenen Bereich von fromIndex (einschließlich) bis totoIndex (exklusiv). |
Entfernen | E entfernen (int index) | Löscht das Element am angegebenen Index aus dem Vektor. |
Boolesches Entfernen (Objekt o) | Löscht das erste Auftreten des angegebenen Elements aus dem Vektor. Wenn kein Element vorhanden ist, passiert nichts mit dem Vektor | |
alles entfernen | Boolean removeAll (Sammlung c) | Löscht alle Elemente aus dem Vektor, die in der angegebenen Sammlung vorhanden sind. |
void removeAll Elements () | Löscht alle Vektorelemente und reduziert sie so auf die Größe Null. | |
removeElement | Boolean removeElement (Object obj) | Entfernt das erste Vorkommen des angegebenen Elements aus dem Vektor. |
void removeElementAt (int index) | Löscht das Element am angegebenen Index. | |
behaltenAlle | Boolean RetainAll (Sammlung c) | Im Gegensatz zu 'removeAll' behält die Methode keepAll Elemente im Vektor bei, die mit Elementen in der angegebenen Sammlung übereinstimmen. |
einstellen | E set (int index, E element) | Legt den Wert am angegebenen Index mit dem neuen bereitgestellten Element fest. |
Void set ElementAt (E obj, int index) | Legt die angegebenen Elemente auf den angegebenen Index fest. | |
setSize | Void setSize (int newSize) | Legt die angegebene Größe für diesen Vektor fest. |
Größe | int size () | Gibt die Anzahl der Elemente in diesem Vektor oder die Länge des Vektors zurück. |
Unterliste | ListsubList (intfromIndex, inttoIndex) | Gibt eine Ansicht oder Unterliste des Vektors zurück, die von Index bis Index reicht. |
toArray | Objekt () toArray () | Konvertiert den angegebenen Vektor in ein Array, das alle Vektorelemente in der angegebenen Reihenfolge enthält. |
T () toArray (T () a) | Gibt ein Array vom angegebenen Typ zurück, das alle Vektorelemente enthält. | |
toString | String toString () | Gibt eine Zeichenfolgendarstellung des Vektors zurück. |
trimToSize | void trimToSize () | Schneidet den Vektor auf die aktuelle Größe ab. |
Vektorimplementierung
Das folgende Java-Programm demonstriert die Verwendung aller oben beschriebenen Konstruktormethoden.
import java.util.*; public class Main{ public static void main(String() args) { //Create vectors v1, v2,v3 and v4 Vector v1 = new Vector(); //a vector with default constructor Vector v2 = new Vector(20); // a vector of given Size //initialize vector v2 with values v2.add(10); v2.add(20); v2.add(30); Vector v3 = new Vector(30, 10); // a vector of given Size and Increment // create a vector v4 with given collection List aList = new ArrayList(); aList.add('one'); aList.add('two'); Vector v4 = new Vector(aList); //print contents of each vector System.out.println('Vector v1 Contents:' + v1); System.out.println('Vector v2 Contents:' + v2); System.out.println('Vector v3 Contents:' + v3); System.out.println('Vector v4 Contents:' + v4); } }
Ausgabe:
Das obige Programm enthält vier Vektoren. Die erste Version 1 wird mit einem Standardkonstruktor erstellt. Der zweite Vektor v2 wird mit einer Anfangskapazität von 20 erstellt. Dann werden nur wenige Elemente zu v2 hinzugefügt. Der dritte Vektor wird mit einer Anfangskapazität von 30 und einem Inkrement von 10 erstellt.
Als Nächstes erstellen wir eine ArrayList und einen vierten Vector v4 mit der ArrayList als Argument. Schließlich zeigen wir den Inhalt jedes dieser Vektoren an.
Beachten Sie den Inhalt des vierten Vektors v4. Da wir ArrayList als Argument angegeben haben, wird der Inhalt von ArrayList zum Inhalt von v4.
Beispiel Lebenslauf für erfahrene Software-Tester
Vollständiges Vektorbeispiel
Lassen Sie uns nun ein weiteres Programm implementieren, das dies ermöglicht Demonstrieren Sie die Erstellung von Vektoren, fügen Sie Elemente hinzu und zeigen Sie deren Inhalt an.
import java.util.*; public class Main { public static void main(String args()) { //Create an empty Vector of even numbers Vector evenVector= new Vector (); //Add elements in the vector evenVector.add(2); evenVector.add(4); evenVector.add(6); evenVector.add(8); evenVector.add(10); evenVector.add(12); evenVector.add(14); evenVector.add(16); //Display the vector System.out.println('Vector evenVector contents: ' +evenVector); //delete the first occurence of an element 4 using remove method System.out.println('
Firstoccurence of element 4 removed: '+evenVector.remove((Integer)4)); //Display the vector System.out.println('
Vector contents after remove operation: ' +evenVector); //Remove the element at index 4 & display the vector System.out.println('
Remove element at index 4: ' +evenVector.remove(4)); System.out.println('
Vector contents after remove: ' +evenVector); //hashcode for the vector System.out.println('
Hash code of the vector = '+evenVector.hashCode()); //Get the element at index 1 System.out.println('
Element at index 1 is = '+evenVector.get(1)); } }
Ausgabe:
Nehmen wir ein anderes Vektorbeispiel. In diesem Programm werden wir Verwenden Sie einen Zeichenfolgenvektor . Wir manipulieren diesen Vektor, indem wir Elemente hinzufügen und dann seine Größe und Kapazität drucken.
import java.util.*; public class Main { public static void main(String args()) { // create a vector with initial capacity = 2 Vector fruits_vec = new Vector(2); //add elements to the vector fruits_vec.addElement('Grapes'); fruits_vec.addElement('Melon'); fruits_vec.addElement('Kiwi'); fruits_vec.addElement('Apple'); //print current size and capacity of the vector System.out.println('Vector Size: '+fruits_vec.size()); System.out.println('Default Vector capacity increment: '+fruits_vec.capacity()); //add more elements to the vector fruits_vec.addElement('Orange'); fruits_vec.addElement('Mango'); fruits_vec.addElement('Fig'); //print current size and capacity again System.out.println('Vector Size after addition: '+fruits_vec.size()); System.out.println('Vector Capacity after increment: '+fruits_vec.capacity()); //print vector elements Enumeration fruits_enum = fruits_vec.elements(); System.out.println('
Vector Elements are:'); while(fruits_enum.hasMoreElements()) System.out.print(fruits_enum.nextElement() + ' '); } }
Ausgabe:
Sortieren Sie einen Vektor
Sie können einen Vektor auch nach einer bestimmten Reihenfolge sortieren. Zum Sortieren eines Vektors müssen Sie die Collections.sort () -Methode von Java Collections Framework verwenden.
Das folgende Beispiel zeigt die Vektorsortierung.
import java.util.*; public class Main { public static void main(String arg()) { //Create an empty vector Vector oddVector = new Vector(); //Add elements to the vector oddVector.add(1); oddVector.add(11); oddVector.add(7); oddVector.add(3); oddVector.add(5); //print the vector elements System.out.println('Vector elements: '+oddVector); //sort vector using Collections.sort method Collections.sort(oddVector); //print sorted vector System.out.println('Vector elements after sorting: '+oddVector); } }
Ausgabe:
Das obige Programm erstellt einen Vektor mit ungeraden Zahlen. Anschließend wird der Vektor mithilfe der Collections.sort () -Methode sortiert.
2D (zweidimensionaler) Vektor
Ein 2d-Vektor ist ein Vektor, der jedes seiner Elemente als Vektor hat. Es kann auch als 'Vektor der Vektoren' bezeichnet werden.
Ein Beispiel unten zeigt den 2d Vektor.
import java.util.*; public class Main { public static void main(String args()) { //define and initialize a vector Vector inner_vec = new Vector(); inner_vec.add('Software'); inner_vec.add('Testing'); inner_vec.add('Java'); inner_vec.add('Tutorials'); //define another vector and add first vector to it. Vector outer_vec = new Vector(); outer_vec.add(inner_vec); String str; //display the contents of vector of vectors System.out.println('Contents of vector of vectors:'); for(int i=0;i Ausgabe:

Im obigen Programm haben wir einen Vektor aus vier Elementen. Dann deklarieren wir einen anderen Vektor und fügen den vorherigen Vektor als Element zum zweiten Vektor hinzu. Beachten Sie, wie auf die Elemente des Vektors zugegriffen wird. Aus der for-Schleife können Sie schließen, dass das erste Element des äußeren Vektors (bei Index 0) der erste oder innere Vektor ist.
Daher behalten wir in der Schleife den Index des äußeren Vektors als 0 bei und durchlaufen den inneren Vektor, um alle Elemente anzuzeigen.
Vektor in Array konvertieren
Betrachten wir das folgende Beispiel für die Konvertierung eines Vektors in ein Array. Um einen Vektor in ein Array zu konvertieren, verwenden wir die toArray-Methode der Vector-Klasse.
Im folgenden Programmierbeispiel , deklarieren wir einen String-Vektor und fügen ihm Elemente hinzu. Anschließend konvertieren wir mit der toArray-Methode der Vector-Klasse den Vector in ein String-Array, indem wir das String-Array-Objekt als Argument übergeben.
import java.util.Vector; public class Main { public static void main(String() args) { // Create a Vector of String elements Vector color_vector = new Vector(); // Add elements to Vector color_vector.add('Violet'); color_vector.add('Indigo'); color_vector.add('Blue'); color_vector.add('Green'); color_vector.add('Yellow'); color_vector.add('Orange'); color_vector.add('Red'); //Convert Vector to String Array using toArray method String() colorsArray = color_vector.toArray(new String(color_vector.size())); //print Array Elements System.out.println('String Array Elements :'); for(String val:colorsArray){ System.out.print(val + ' '); } } }
Ausgabe:

Vektor gegen Array
Nachfolgend sind einige der Unterschiede zwischen einem Vektor und einem Array aufgeführt.
Vektor Array Reserviert zusätzlichen Speicher, wenn die Kapazität erhöht wird. Reserviert keinen zusätzlichen Speicherplatz. Der Vektor ist dynamisch und seine Größe wächst und schrumpft, wenn Elemente hinzugefügt oder entfernt werden. Arrays sind statisch und ihre Größe bleibt nach der Deklaration fest. Vektoren können nur Objekte speichern. Arrays können sowohl primitive Typen als auch Objekte speichern. Es bietet eine size () -Methode zum Bestimmen der Größe. Bietet die Eigenschaft length, um die Länge zu bestimmen. Keine Konzeptdimensionen, kann aber als Vektorvektor erstellt werden, der normalerweise als 2d-Vektor bezeichnet wird. Arrays unterstützen Dimensionen. Vektor ist synchronisiert. Das Array ist nicht synchronisiert. Der Vektor ist langsamer als das Array. Array ist schneller. Gewährleistet Typensicherheit durch Unterstützung von Generika. Keine generische Unterstützung.
Vektor gegen ArrayList
In diesem Abschnitt wird der Unterschied zwischen Vector und ArrayList in Java erläutert.
Vektor Anordnungsliste Der Vektor hat eine Inkrementgröße, mit der die Vektorgröße erhöht werden kann. ArrayList bietet keine Inkrementgröße. Vorhanden seit der ersten Version von Java (JDK 1.0-Version). Eingeführt in Java seit JDK 1.2 Vector ist eine Legacy-Klasse von Java. ArrayList ist Teil des Java Collections Framework. Der Vektor wächst doppelt so groß, wenn seine Kapazität erreicht ist. ArrayList wächst um die Hälfte, wenn seine Kapazität erreicht ist. Vektormethoden werden synchronisiert. ArrayList ist nicht synchronisiert. Vector verwendet Enumerator und Iterator zum Durchlaufen. ArrayList verwendet nur Iterator. Vektoroperationen sind langsamer. ArrayList ist schneller. Vector ist threadsicher, was bedeutet, dass die Verwendung von Vector aus mehreren Threads zulässig und sicher ist. ArrayList ist nicht threadsicher.
Häufig gestellte Fragen
F # 1) Was ist ein Vektor in Java?
Antworten: In Java kann ein Vektor als erweiterbares Array von Objekten definiert werden. Ähnlich wie bei Arrays kann auch auf Vektorelemente über Indizes zugegriffen werden.
F # 2) Ist der Vektor in Java geordnet?
Antworten: Ja. Ein Vektor wird bestellt und behält die Einfügereihenfolge für Elemente bei.
F # 3) Ist Vector in Java threadsicher?
Antworten: Ja. In Java ist die Vector-Klasse threadsicher. Da die Vektorklasse synchronisiert ist, ist sie threadsicher, d. H. Sie können die Vektorklasse aus mehreren Threads heraus verwenden, und sie ist sicher.
F # 4) Warum verwenden wir Vektor in Java?
Antworten: Der wichtigste Grund, warum Vector in Java verwendet wird, ist, dass ein Vector automatisch wächst und schrumpft. Sie sind dynamisch, weshalb sie Arrays vorgezogen werden.
F # 5) Was ist besser - ArrayList oder Vektor?
Antworten: In Bezug auf die Leistung ist ArrayList im Vergleich zu Vector schneller, da Vector synchronisiert und langsamer wird.
Fazit
In diesem Tutorial haben wir mit der Vektordatenstruktur in Java begonnen. Vektoren ähneln fast einem Array, in dem auf die Vektorelemente mit bekannten Indizes zugegriffen wird. Vektoren werden als dynamisches Array bezeichnet. Im Gegensatz zu Arrays wächst und verkleinert sich die Vektorgröße automatisch.
Vektoren verfügen auch über die Kapazitäts- und Inkrementierungsfunktionen, mit denen zusätzlicher Speicher für zukünftige Ergänzungen erstellt und reserviert werden kann. Vector ist eine Legacy-Klasse im Java-Paket java.util und sowohl synchronisiert als auch threadsicher.
Daher sollten wir Vektoren bevorzugen, wenn wir eine dynamische Größe benötigen und auch wenn wir in einer Multithread-Umgebung arbeiten.
=> Besuchen Sie hier für die exklusive Java Training Tutorial-Reihe.
Literatur-Empfehlungen
- JAVA-Tutorial für Anfänger: Über 100 praktische Java-Video-Tutorials
- Java Reflection Tutorial mit Beispielen
- Java Interface und Abstract Class Tutorial mit Beispielen
- Jagged Array In Java - Tutorial mit Beispielen
- Java Array Length Tutorial mit Codebeispielen
- So sortieren Sie ein Array in Java - Tutorial mit Beispielen
- Java 'this' Schlüsselwort: Tutorial mit Codebeispielen
- Zugriffsmodifikatoren in Java - Tutorial mit Beispielen