Unterschied Zwischen ArrayList Und LinkedList

Inhaltsverzeichnis:

Unterschied Zwischen ArrayList Und LinkedList
Unterschied Zwischen ArrayList Und LinkedList

Video: Unterschied Zwischen ArrayList Und LinkedList

Video: Unterschied Zwischen ArrayList Und LinkedList
Video: LinkedList vs ArrayList in Java | Differences between ArrayList and LinkedList | Edureka 2024, September
Anonim

Hauptunterschied - ArrayList vs LinkedList

Sammlungen sind nützlich zum Speichern von Daten. In einem normalen Array ist die Arraygröße fest. Manchmal müssen Arrays erstellt werden, die nach Bedarf wachsen können. Programmiersprachen wie Java haben Sammlungen. Es ist ein Framework mit einer Reihe von Klassen und Schnittstellen. Es dient als Container für eine Gruppe von Elementen. Sammlungen ermöglichen das Speichern, Aktualisieren und Abrufen von Elementen. Es hilft, mit Datenstrukturen wie Listen, Mengen, Bäumen und Karten zu arbeiten. Die Liste ist eine Schnittstelle des Collection Frameworks. ArrayList und LinkedList sind zwei Klassen im Sammlungsframework. Sie implementieren die Erfassungsschnittstelle und die Listenschnittstelle. Dieser Artikel beschreibt den Unterschied zwischen ArrayList und LinkedList. ArrayList ist eine Klasse, die die AbstractList erweitert und die List-Schnittstelle implementiert, die intern ein dynamisches Array zum Speichern von Datenelementen verwendet. LinkedList ist eine Klasse, die die AbstractSequentialList erweitert und List-, Deque- und Queue-Schnittstellen implementiert, die intern eine doppelt verknüpfte Liste zum Speichern von Datenelementen verwenden. Das ist der Hauptunterschied zwischen ArrayList und LinkedList.

INHALT

1. Übersicht und Hauptunterschied

2. Was ist ArrayList

? 3. Was ist LinkedList?

4. Ähnlichkeiten zwischen ArrayList und LinkedList.

5. Vergleich nebeneinander - ArrayList und LinkedList in Tabellenform.

6. Zusammenfassung

Was ist ArrayList?

Die ArrayList-Klasse wird zum Erstellen dynamischer Arrays verwendet. Im Gegensatz zu einem normalen Array ist die Größe eines dynamischen Arrays nicht festgelegt. Ein mit der ArrayList-Klasse erstelltes Objekt darf eine Reihe von Elementen in der Liste speichern. Die Kapazität erhöht sich automatisch, sodass der Programmierer der Liste Elemente hinzufügen kann. Die ArrayList-Klasse erweitert die AbstractList-Klasse, die die List-Schnittstelle implementiert. Daher können die Methoden der List-Schnittstelle von ArrayList verwendet werden. Für den Zugriff auf Elemente wird die Methode get () verwendet. Mit der Methode add () können Elemente zur Liste hinzugefügt werden. Mit der Methode remove () wird ein Element aus der Liste entfernt. Siehe das folgende Programm.

Unterschied zwischen ArrayList und LinkedList
Unterschied zwischen ArrayList und LinkedList

Abbildung 01: Beispiel für ArrayList

Gemäß dem obigen Programm wird ein Objekt von ArrayList erstellt. Mit der Methode add können Elemente dynamisch hinzugefügt werden. Die Elemente "A", "B", "C", "D" und "E" werden mit der Add-Methode hinzugefügt. Mit der Methode remove wird ein Element aus der Liste entfernt. Wenn Sie 4 an die Entfernungsmethode übergeben, wird der Buchstabe im 4. Index, der "E" ist, aus der Liste entfernt. Beim Durchlaufen der Liste mit der for-Schleife werden die Buchstaben A, B, C und D gedruckt.

Was ist LinkedList?

Ähnlich wie bei ArrayList wird die LinkedList zum dynamischen Speichern von Datenelementen verwendet. Ein mit der LinkedList-Klasse erstelltes Objekt darf eine Reihe von Elementen in der Liste speichern. Die Kapazität erhöht sich automatisch, sodass der Programmierer der Liste Elemente hinzufügen kann. Es verwendet intern eine doppelt verknüpfte Liste zum Speichern von Daten. In einer doppelt verknüpften Liste werden die Daten als Knoten gespeichert. Jeder Knoten enthält zwei Links. Der erste Link zeigt auf den vorherigen Knoten. Der nächste Link zeigt auf den nächsten Knoten in der Sequenz.

Die LinkedList-Klasse erweitert die AbstractSequentialList-Klasse und implementiert die List-Schnittstelle. Daher können die Methoden der List-Schnittstelle von der LinkedList verwendet werden. Mit der Methode get () kann auf Elemente der Liste zugegriffen werden. Mit der Methode add () können Elemente zur Liste hinzugefügt werden. Mit der Methode remove () wird ein Element aus der Liste entfernt. Siehe das folgende Programm.

Hauptunterschied zwischen ArrayList und LinkedList
Hauptunterschied zwischen ArrayList und LinkedList

Abbildung 02: Beispiel mit LinkedList

Gemäß dem obigen Programm wird ein Objekt von LinkedList erstellt. Mit der Methode add können Elemente dynamisch hinzugefügt werden. Die Elemente "A", "B", "C", "D" und "E" werden mit der Add-Methode hinzugefügt. Mit der Methode remove wird ein Element aus der Liste entfernt. Wenn Sie 4 an die Methode "remove" übergeben, wird der Buchstabe im 4. Index "E" aus der Liste entfernt. Bei der Iteration mit der for-Schleife werden die Buchstaben A, B, C und D gedruckt.

Was sind die Ähnlichkeiten zwischen ArrayList und LinkedList?

  • Sowohl ArrayList als auch LinkedList implementieren die List-Schnittstelle.
  • Sowohl ArrayList als auch LinkedList können doppelte Elemente enthalten.
  • Sowohl ArrayList als auch LinkedList behalten die Einfügereihenfolge bei.

Was ist der Unterschied zwischen ArrayList und LinkedList?

Diff Artikel Mitte vor Tabelle

ArrayList vs LinkedList

ArrayList ist eine Klasse, die die AbstractList erweitert und die List-Schnittstelle implementiert, die intern ein dynamisches Array zum Speichern von Datenelementen verwendet. LinkedList ist eine Klasse, die die AbstractSequentialList erweitert und List-, Deque- und Queue-Schnittstellen implementiert, die intern eine doppelt verknüpfte Liste zum Speichern von Datenelementen verwenden.
Zugriff auf Elemente
Der Zugriff auf Elemente von ArrayList ist schneller als bei einer LinkedList. Der Zugriff auf Elemente von LinkedList ist langsamer als bei einer ArrayList.
Elemente manipulieren
Das Bearbeiten von Elementen von ArrayList ist langsamer als das von LinkedList. Das Bearbeiten von Elementen von LinkedList ist schneller als das von einer ArrayList.
Verhalten
ArrayList wird als Liste ausgeführt. LinkedList fungiert als Liste und Warteschlange.

Zusammenfassung - ArrayList vs LinkedList

Das Sammlungsframework ermöglicht das Arbeiten mit Datenstrukturen wie Listen, Bäumen, Karten und Mengen. Die Liste ist eine Schnittstelle des Sammlungsframeworks. In diesem Artikel wurde der Unterschied zwischen ArrayList und LinkedList erläutert. ArrayList ist eine Klasse, die die AbstractList erweitert und die List-Schnittstelle implementiert, die intern ein dynamisches Array zum Speichern von Datenelementen verwendet. LinkedList ist eine Klasse, die die AbstractSequentialList erweitert und List-, Deque- und Queue-Schnittstellen implementiert, die intern eine doppelt verknüpfte Liste zum Speichern von Datenelementen verwenden. Das ist der Unterschied zwischen ArrayList und LinkedList.

Empfohlen: