Unterschiede zwischen Java Vector und ArrayList
Die eine gebräuchliche Definition, an die wir uns erinnern werden, wenn wir über Vektor (Java) schreiben. Java-Vektoren werden häufig anstelle von Arrays verwendet. Wir können Beispiele dafür geben - Während die Daten automatisch ansteigen, werden sie erweitert. Wir können einen Vektor mit Anfangsgröße oder mit Standardanfangsgröße erstellen.
Wir werden den Code für die anfängliche Standardgröße oder Anfangsgröße sehen:
- So erstellen Sie einen Vektor mit der Standard-Anfangsgröße
Vektor v = neuer Vektor (); - So erstellen Sie einen Vektor mit einer Anfangsgröße
Vektor v = neuer Vektor (300);
Nachfolgend sind die gängigen Vektormethoden aufgeführt:
- add (o)
- klar()
- firstElement (i)
- listIterator ()
- Größe()
- toArray (Object ())
Java ArrayList ist eine der einfachsten und am häufigsten verwendeten Datenstrukturen in den Implementierungsklassen der Java-API-Bibliothek. Das wichtigste ist, dass es ein dynamisches Array zum Speichern der Elemente verwendet. Eine Sache, die wir beim Erstellen von Arrays beachten sollten, ist, dass diese eine feste Länge haben, sobald sie erstellt wurden. Wir können keine Änderungen vornehmen.
Unten sind die Konstruktoren
ArrayList () - Hilft beim Erstellen der leeren Array-Liste
ArrayList (Collection c) - Hilft beim Erstellen einer Liste konstruktiver Elemente in einer
Vordefinierte Sammlung
ArrayList (int capacity) - Hilft beim Erstellen einer leeren Liste.
Nachfolgend finden Sie die am häufigsten verwendeten Methoden :: ::
- Boolesche Addition (E obj)
- void add (int index, E obj)
- E get (int index)
- Boolean enthält (Object obj)
- Boolean isEmpty ()
Java wurde mit einer neuen API-Sammlung in Java 2.0 eingeführt, um die einheitlich strukturierten Klassen bereitzustellen. Mit der Einführung der neuen API werden sich die Methoden ändern. Jetzt werden wir hier einige der alten und neuen Methoden sehen, die zum Zeitpunkt der API-Änderung geändert wurden.
Alte Methode | Neue Methode |
ObjektelementAt (int) | Object get (int) |
void insertElementAt (Object, int) | nichtig hinzufügen (Index, Objekt) |
void addElement (Object) | boolean add (Objekt) |
void setElementAt (int) | Objektmenge (int, Object) |
void removeElementAt (int) | nichtig entfernen (int) |
void removeAllElements () | nichtig klar () |
Head-to-Head Vergleich zwischen Java Vector und ArrayList (Infografik)
Unten ist die Top 8 Vergleich zwischen Java Vector vs ArrayList
Hauptunterschiede zwischen Java Vector und ArrayList
Im Folgenden sind die Punktelisten aufgeführt. Beschreiben Sie die Hauptunterschiede zwischen Java Vector und ArrayList
ArrayList ist nicht synchronisiert und nicht threadsicher, aber Vector ist synchronisiert und hat jeweils einen Thread zum Aufrufen von Methoden. Aber wenn es um die Sicherheit von Singlethreading geht, ist ArrayList die einzige Wahl. Wenn wir jedoch an Multithreading arbeiten, müssen wir die Vektoren bevorzugen. Wenn wir Zweifel oder Verwirrung in den Daten haben, können wir den Vektor auswählen, weil wir den Inkrementwert im Vektor festlegen können.
Ein Vektor kann sowohl die Enumerations- als auch die Iterator-Schnittstelle zum Überqueren von Elementen verwenden, ArrayList kann jedoch nur die Iterator-Schnittstelle zum Überqueren verwenden. In vector Wenn Sie den Integer-Wrapper verwenden, können Sie den Integer-Wert nicht ändern. Im Vektor haben die beiden am häufigsten verwendeten Methoden Next () und next (). ArrayLists werden mit der Anfangsgröße erstellt, da beim Hinzufügen von Objekten die Größe zunimmt und beim Entfernen von Objekten die Größe automatisch abnimmt.
Die Vektorklasse in Java implementiert ein dynamisches Array von Objekten. Es ist genau identisch mit dem Array, es enthält Elemente, auf die über einen einfachen Ganzzahlindex zugegriffen werden kann. Die Größe eines Vektors kann jedoch vergrößert oder verkleinert werden, um das Hinzufügen und Entfernen von Elementen nach Bedarf zu ermöglichen.
Java Vector und ArrayList bieten beide ein anpassbares Array, dh ein Array, mit dem der Speicherplatz vergrößert werden kann. Java stellt eine Vektorklasse zur Verfügung, um dynamische, generische und nützliche vordefinierte Methoden bereitzustellen (wir haben die Methoden bereits auf Seite 1 gesehen). Verwenden Sie ein Array, wenn die Größe festgelegt ist. Verwenden Sie Vector, wenn sich die Größe ändern kann. Sowohl Java Vector als auch ArrayList sind indexbasiert und verwenden das Array intern. Sowohl Java Vector als auch ArrayList behalten die Einfügereihenfolge der Elemente bei. Java bietet eine ArrayList-Klasse, um ähnliche Funktionen wie die dynamischen, generischen und nützlichen vordefinierten Methoden von Vector bereitzustellen.
Java Vector und ArrayList, beide Klassen, werden für die dynamische Verwendung von Arrays verwendet. Klasse ArrayList - E gibt den Objekttyp an, den ein Array enthalten kann. Das hier erstellte Array ist variabel eins und kann je nach Objektzuordnung vergrößert oder verkleinert werden. Vector :: class Vector - E repräsentiert den Objekttyp, der im Array gespeichert wird.
Empfohlene Kurse
- Schulung zu Datenstrukturen und Algorithmen
- Fehlermanagement-Kurse
- Shell-Programmierung im Cygwin-Programm
Vergleichstabelle zwischen Java Vector und ArrayList
Es folgt die Vergleichstabelle zwischen Java Vector und ArrayList
Vergleichsbasis | Vektoren | Anordnungsliste |
Basic | Vector ist die Legacy-Klasse und wird synchronisiert | ArrayList ist keine Legacy-Klasse und wird nicht synchronisiert. |
Größe | Fast wird es die Größe verdoppeln, wenn eine Gesamtzahl von Elementen erhöht wird | ArrayList erhöht sich um 50% seiner Größe, wenn die Anzahl der Elemente erhöht wird |
Datenwachstum | Der Vektor wächst und schrumpft dynamisch, um die optimale Speichernutzung zu gewährleisten | ArrayList kann dynamisch vergrößert und verkleinert werden, um die optimale Speichernutzung zu gewährleisten |
Schnittstelle | Vektor Verwendet Iterator- und Enumerationsschnittstelle | ArrayList Verwendet die Iterator-Schnittstelle |
Performance | Vector ist im Vergleich zu ArrayList langsam, weil es synchronisiert ist | ArrayList ist schnell, da keine Synchronisation stattfindet |
Thread sicher | Ja | Nein |
Eingeführt in | Eingeführt in JDK 1.0 Vertion | Eingeführt in JDK 1.2 Vertion |
Schrittweite einstellen | Vektor definiert die Inkrementgröße | ArrayList definiert die Inkrementgröße nicht |
Fazit Java Vector vs ArrayList
Letztendlich haben Java Vector und ArrayList Vor- und Nachteile. Beide sind auf dem Markt sehr erfolgreich. ArrayList ist das letzte Mal, wenn wir es mit Vector vergleichen. ArrayList wird bevorzugt, wenn Sie keine Synchronisation benötigen. Versuchen Sie bei Verwendung von Vector oder ArrayList immer, die größte Kapazität zu initialisieren, die Ihr Programm benötigt, da das Erweitern des Arrays teuer ist. ich
ArrayList wird synchronisiert, weil mehr als ein Thread gleichzeitig auf dem Array ausgeführt werden kann. In Bezug auf das Array entfernt ein anderer Thread ein Objekt zur gleichen Zeit aus demselben Array, wenn ein Thread dem Objekt hinzufügt.
Java Vector und ArrayList enthalten beide Objektreferenzen. Wenn das Array vollständig belegt ist und Sie nach der vollständigen Belegung ein neues Objekt hinzufügen möchten, erhöht sich in beiden Fällen die Größe, der Hauptunterschied tritt jedoch in ArrayList auf. Wenn die Größe nicht angegeben ist, kann sie sich um die Hälfte des aktuellen Arrays erhöhen Der Vektor kann die Größe verdoppeln, wenn der Inkrementwert nicht angegeben wird.
Abschließend möchte ich sagen, dass ArrayList immer bevorzugt wird. Warum, weil ArrayList im Vergleich zu Vector eine schnellere und bessere Leistung erbringt.
Empfohlener Artikel
Dies war eine Anleitung zu den Unterschieden zwischen Java Vector und ArrayList, ihrer Bedeutung, dem Vergleich von Kopf zu Kopf, den wichtigsten Unterschieden, der Vergleichstabelle und der Schlussfolgerung. Sie können sich auch die folgenden Artikel ansehen, um mehr zu erfahren -
- Java Performance vs Python: Was sind die Unterschiede
- Scala vs Java Performance: Welcher ist der bessere? (Infografiken)
- Java vs JavaScript - 8 Nützlicher Vergleich zu lernen
- Java vs Python - Die neun wichtigsten Vergleiche, die Sie lernen müssen
- Java Heap vs Stack - 7 Super Sache, die Sie wissen sollten
- C # Array vs Liste: Was sind die Vorteile
- Array vs ArrayList | Top 6 Unterschiede