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 MethodeNeue 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

VergleichsbasisVektorenAnordnungsliste
BasicVector ist die Legacy-Klasse und wird synchronisiertArrayList ist keine Legacy-Klasse und wird nicht synchronisiert.
GrößeFast wird es die Größe verdoppeln, wenn eine Gesamtzahl von Elementen erhöht wirdArrayList erhöht sich um 50% seiner Größe, wenn die Anzahl der Elemente erhöht wird
DatenwachstumDer Vektor wächst und schrumpft dynamisch, um die optimale Speichernutzung zu gewährleistenArrayList kann dynamisch vergrößert und verkleinert werden, um die optimale Speichernutzung zu gewährleisten
SchnittstelleVektor Verwendet Iterator- und EnumerationsschnittstelleArrayList Verwendet die Iterator-Schnittstelle
PerformanceVector ist im Vergleich zu ArrayList langsam, weil es synchronisiert istArrayList ist schnell, da keine Synchronisation stattfindet
Thread sicherJaNein
Eingeführt inEingeführt in JDK 1.0 VertionEingeführt in JDK 1.2 Vertion
Schrittweite einstellenVektor definiert die InkrementgrößeArrayList 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 -

  1. Java Performance vs Python: Was sind die Unterschiede
  2. Scala vs Java Performance: Welcher ist der bessere? (Infografiken)
  3. Java vs JavaScript - 8 Nützlicher Vergleich zu lernen
  4. Java vs Python - Die neun wichtigsten Vergleiche, die Sie lernen müssen
  5. Java Heap vs Stack - 7 Super Sache, die Sie wissen sollten
  6. C # Array vs Liste: Was sind die Vorteile
  7. Array vs ArrayList | Top 6 Unterschiede