Was ist der Unterschied zwischen ArrayList und Vector?

Inhaltsverzeichnis:

Anonim

Die Hauptunterschied zwischen ArrayList und Vector ist, dass die ArrayList ist nicht synchronisiert und ermöglicht es mehreren Threads, gleichzeitig an einer ArrayList zu arbeiten, während der Vektor synchronisiert ist, und verhindert, dass mehrere Threads gleichzeitig an einem Vektor arbeiten.

Programmiersprachen wie Java unterstützen Sammlungen, wodurch mehrere Objekte als eine Einheit gespeichert werden können. Zwei solche Sammlungen sind ArrayList und Vector. Sie helfen, Daten dynamisch zu speichern. ArrayList ist nicht synchronisiert, wodurch eine ArrayList besser abschneidet als eine Vector. Andererseits ist vector synchronisiert und enthält viele Legacy-Methoden.

ArrayList, Vektor

Was ist ArrayList

ArrayList ist eine Datenstruktur, die mit der ArrayListClass implementiert wird. Diese ArrayList-Klasse implementiert ferner die List-Schnittstelle. Es ist eine bessere Alternative für Arrays. Übliche Arrays haben eine feste Länge. Daher kann der Programmierer nicht mehr Elemente als die definierte Array-Größe hinzufügen. Mit einer ArrayList ist es möglich, die Array-Größe dynamisch zu ändern. Mit anderen Worten, der Programmierer kann Elemente dynamisch hinzufügen oder entfernen. Daher ist es eine flexible Datenstruktur. ArrayList behält die Reihenfolge der eingefügten Elemente bei. Darüber hinaus stehen in der ArrayList-Klasse vordefinierte Methoden zur Verfügung. Der Programmierer kann sie in seinem Programm verwenden.

Abbildung 1: ArrayList-Programm

Wenn Sie sich das obige Programm ansehen, ist „fruits“ ein Objekt vom Typ ArrayList. Es kann Zeichenfolgen speichern. Die add-Methode hilft beim Einfügen von Elementen in die ArrayList. Das Element im 2nd Index der ArrayList ist Trauben. Die Methode remove hilft dabei, „Trauben“ aus der ArrayList zu entfernen. Jetzt sind nur noch drei Elemente verfügbar. „itr“ ist ein Iterator. Es hilft, durch die ArrayList zu iterieren. Schließlich gibt die while-Schleife die in der ArrayList verfügbaren Elemente aus.

Was ist Vektor?

Vector ist eine Datenstruktur, die mithilfe der Vector-Klasse implementiert wird. Die Vector-Klasse implementiert die List-Schnittstelle. Vector behält die Reihenfolge der eingefügten Elemente bei. Es ist synchronisiert. Daher können nicht mehrere Threads gleichzeitig an einem Vektor arbeiten. Normalerweise ist die Leistung beim Hinzufügen, Löschen und Aktualisieren von Elementen in einem Vektor geringer.

Abbildung 2: Vektorprogramm

Im obigen Programm ist „vec“ ein Objekt von Vector, das Strings speichern kann. Die Methode add hilft, neue Elemente in den Vektor einzufügen. In ähnlicher Weise hilft die Methode remove, ein Element aus dem Vektor zu entfernen. Daher wird bei der Übergabe von „orange“ an die Methode remove dieses bestimmte Element aus dem Vektor entfernt. Das „en“ ist eine Aufzählung, die beim Durchlaufen eines Vektors hilft. Schließlich druckt die while-Schleife die im Vektor verfügbaren Elemente.

Unterschied zwischen ArrayList und Vektor

Definition

ArrayList ist eine nicht synchronisierte Datenstruktur, die ein dynamisches Array zum Speichern der Elemente verwendet, während vector eine synchronisierte Datenstruktur ist, die ein dynamisches Array zum Speichern der Elemente verwendet. Dies ist also der grundlegende Unterschied zwischen ArrayList und Vector.

Leistung

Die Leistung ist ein wesentlicher Unterschied zwischen ArrayList und Vector. Eine ArrayList arbeitet schneller als ein Vektor. Daher ist seine Leistung höher als der Vektor.

Synchronisation

Vor allem die Synchronisation ist der Hauptunterschied zwischen ArrayList und Vector. Eine ArrayList ist nicht synchronisiert, während ein Vektor synchronisiert ist.

Durchqueren der Elemente

Während ArrayList die Iterator-Schnittstelle verwendet, um die Elemente zu durchlaufen, verwendet vector die Iterator-Schnittstelle oder die Enumeration-Schnittstelle, um die Elemente zu durchlaufen. Daher ist dies ein weiterer Unterschied zwischen ArrayList und Vector.

Array-Größe

Abschluss

Sowohl ArrayList als auch Vector ermöglichen das dynamische Speichern von Elementen. Der Hauptunterschied zwischen ArrayList und Vector liegt in der Synchronisation. ArrayList ist nicht synchronisiert und ermöglicht es mehreren Threads, gleichzeitig daran zu arbeiten, während Vector synchronisiert ist, und vermeidet, dass mehrere Threads gleichzeitig daran arbeiten. Daher ist ArrayList schneller als Vektor.

Referenz:

1. „ArrayList in Java – Javatpoint.“ www.javatpoint.com, hier verfügbar.2. Singh, Chaitanya und J. Padilha. „Vektor in Java.“ Beginnersbook.com, 8. August 2017, hier erhältlich.

Was ist der Unterschied zwischen ArrayList und Vector?