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 | Datenstrukturen | Collections | List | Java Programmieren 2024, Dezember
Anonim

Hauptunterschied – ArrayList vs. LinkedList

Sammlungen sind nützlich, um Daten zu speichern. In einem normalen Array ist die Arraygröße fest. Manchmal ist es erforderlich, Arrays zu erstellen, 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 Elementensätzen. 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 Collections-Framework. Sie implementieren die Collection-Schnittstelle und die List-Schnittstelle. Dieser Artikel beschreibt den Unterschied zwischen ArrayList und LinkedList. ArrayList ist eine Klasse, 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.

Was ist ArrayList?

Die Klasse ArrayList wird verwendet, um dynamische Arrays zu erstellen. Im Gegensatz zu einem normalen Array ist die Größe eines dynamischen Arrays nicht festgelegt. Ein mit der Klasse ArrayList 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. Um auf Elemente zuzugreifen, wird die Methode get() verwendet. Die Methode add() kann verwendet werden, um Elemente zur Liste hinzuzufügen. Die Methode remove() wird verwendet, um ein Element aus der Liste zu entfernen. Siehe untenstehendes Programm.

Unterschied zwischen ArrayList und LinkedList
Unterschied zwischen ArrayList und LinkedList
Unterschied zwischen ArrayList und LinkedList
Unterschied zwischen ArrayList und LinkedList

Abbildung 01: Beispiel für ArrayList

Gemäß obigem Programm wird ein Objekt von ArrayList erstellt. Mit der add-Methode können Elemente dynamisch hinzugefügt werden. Die Elemente „A“, „B“, „C“, „D“und „E“werden mit der Add-Methode hinzugefügt. Die Methode remove wird verwendet, um ein Element aus der Liste zu entfernen. Wenn 4 an die remove-Methode übergeben wird, 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 ausgegeben.

Was ist LinkedList?

Ähnlich wie ArrayList wird die LinkedList verwendet, um Datenelemente dynamisch zu speichern. 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, um Daten zu speichern. 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. Die Methode add() kann verwendet werden, um Elemente zur Liste hinzuzufügen. Die Methode remove() wird verwendet, um ein Element aus der Liste zu entfernen. Siehe untenstehendes Programm.

Hauptunterschied zwischen ArrayList und LinkedList
Hauptunterschied zwischen ArrayList und LinkedList
Hauptunterschied zwischen ArrayList und LinkedList
Hauptunterschied zwischen ArrayList und LinkedList

Abbildung 02: Beispiel mit LinkedList

Gemäß obigem Programm wird ein LinkedList-Objekt erstellt. Mit der add-Methode können Elemente dynamisch hinzugefügt werden. Die Elemente „A“, „B“, „C“, „D“und „E“werden mit der Add-Methode hinzugefügt. Die Methode remove wird verwendet, um ein Element aus der Liste zu entfernen. Wenn 4 an die remove-Methode übergeben wird, wird der Buchstabe im 4. Index, der „E“ist, aus der Liste entfernt. Beim Iterieren mit der for-Schleife werden die Buchstaben A, B, C und D ausgegeben.

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 enth alten.
  • Sowohl ArrayList als auch LinkedList beh alten die Einfügungsreihenfolge bei.

Was ist der Unterschied zwischen ArrayList und LinkedList?

ArrayList vs LinkedList

ArrayList ist eine Klasse, 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-, Queue-Schnittstellen implementiert, die intern eine doppelt verkettete Liste zum Speichern von Datenelementen verwendet.
Zugriff auf Elemente
Der Zugriff auf Elemente einer ArrayList ist schneller als der einer LinkedList. Der Zugriff auf Elemente einer LinkedList ist langsamer als bei einer ArrayList.
Elemente manipulieren
Das Manipulieren von Elementen einer ArrayList ist langsamer als das einer LinkedList. Das Manipulieren von Elementen einer LinkedList ist schneller als das einer ArrayList.
Verh alten
ArrayList verhält sich wie eine Liste. LinkedList fungiert als Liste und als Warteschlange.

Zusammenfassung – ArrayList vs. LinkedList

Das Sammlungs-Framework ermöglicht das Arbeiten mit Datenstrukturen wie Listen, Bäumen, Karten und Sets. Die Liste ist eine Schnittstelle des Sammlungsframeworks. In diesem Artikel wurde der Unterschied zwischen ArrayList und LinkedList erläutert. ArrayList ist eine Klasse, 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-, Queue-Schnittstellen implementiert, die intern eine doppelt verknüpfte Liste zum Speichern von Datenelementen verwendet. Das ist der Unterschied zwischen ArrayList und LinkedList.

Empfohlen: