Was ist der Unterschied zwischen ArrayList und Vector? - Unterschied Zwischen

Was ist der Unterschied zwischen ArrayList und Vector?

Das Hauptunterschied zwischen ArrayList und Vector ist das der ArrayList ist nicht synchronisiert und ermöglicht, dass mehrere Threads gleichzeitig mit einer ArrayList arbeiten, während der Vektor synchronisiert wird, und verhindert, dass mehrere Threads gleichzeitig mit einem Vektor arbeiten.

Programmiersprachen wie Java unterstützen Collections, wodurch das Speichern mehrerer Objekte als eine Einheit möglich ist. Zwei solcher Sammlungen sind ArrayList und Vector. Sie helfen, Daten dynamisch zu speichern. ArrayList ist nicht synchronisiert, sodass eine ArrayList bessere Ergebnisse erzielt als ein Vektor. Auf der anderen Seite ist der Vektor synchronisiert und enthält viele ältere Methoden.

Wichtige Bereiche

1. Was ist ArrayList?
- Definition, Funktionalität
2. Was ist Vektor?
- Definition, Funktionalität
3. Was ist der Unterschied zwischen ArrayList und Vector?
- Vergleich der wichtigsten Unterschiede

Schlüsselbegriffe

ArrayList, Vector


Was ist ArrayList?

ArrayList ist eine Datenstruktur, die mithilfe der ArrayListClass implementiert wird. Diese ArrayList-Klasse implementiert außerdem 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 Arraygröße hinzufügen. Mithilfe einer ArrayList ist es möglich, die Arraygröße dynamisch zu ändern. Der Programmierer kann also Elemente dynamisch hinzufügen oder entfernen. Daher handelt es sich um eine flexible Datenstruktur. ArrayList behält die Reihenfolge der eingefügten Elemente bei. Darüber hinaus gibt es vordefinierte Methoden in der ArrayList-Klasse. 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 können Zeichenketten gespeichert werden. Die add-Methode hilft beim Einfügen von Elementen in die ArrayList. Das Element in der 2nd Index der ArrayList sind Trauben. Die remove-Methode hilft dabei, "Trauben" aus der ArrayList zu entfernen. Jetzt sind nur drei Elemente verfügbar. Der "itr" ist ein Iterator. Es hilft, die ArrayList zu durchlaufen. Schließlich werden in der while-Schleife die in der ArrayList verfügbaren Elemente gedruckt.

Was ist Vektor?

Vector ist eine Datenstruktur, die mit der Vector-Klasse implementiert wird. Die Vector-Klasse implementiert die List-Schnittstelle. Vektor behält die eingefügte Reihenfolge des Elements bei. Es ist synchronisiert. Daher können mehrere Threads nicht 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 Zeichenketten speichern kann. Die add-Methode hilft beim Einfügen neuer Elemente in den Vektor. In ähnlicher Weise hilft die remove-Methode, ein Element aus dem Vektor zu entfernen. Wenn Sie also "orange" an die remove-Methode übergeben, wird dieses bestimmte Element aus dem Vektor entfernt. Das en ist eine Aufzählung, die hilft, durch einen Vektor zu iterieren. Schließlich werden in der while-Schleife die im Vektor verfügbaren Elemente gedruckt.

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.

Performance

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

Die Synchronisation ist der Hauptunterschied zwischen ArrayList und Vector. Eine ArrayList ist nicht synchronisiert, während der Vektor synchronisiert ist.

Die Elemente durchqueren

Während ArrayList die Iterator-Schnittstelle zum Durchlaufen der Elemente verwendet, verwendet vector die Iterator-Schnittstelle oder die Aufzählungsschnittstelle zum Durchlaufen der Elemente. Dies ist ein weiterer Unterschied zwischen ArrayList und Vector.

Array-Größe

Darüber hinaus erhöht ArrayList 50% der aktuellen Feldgröße, wenn die Anzahl der Elemente seine Kapazität überschreitet, während der Vektor 100% erhöht, d. H. Die Feldgröße verdoppelt, wenn die Gesamtzahl der Elemente seine Kapazität übersteigt.

Fazit

Sowohl ArrayList als auch Vector ermöglichen das dynamische Speichern von Elementen. Der Hauptunterschied zwischen ArrayList und Vector besteht in der Synchronisation. ArrayList ist nicht synchronisiert und ermöglicht die gleichzeitige Bearbeitung mehrerer Threads, während Vector synchronisiert wird, und verhindert, dass mehrere Threads gleichzeitig daran arbeiten. Daher ist ArrayList schneller als Vektor.

Referenz:

1. "ArrayList in Java - Javatpoint". Www.javatpoint.com,