Unterschied zwischen ArrayList und LinkedList

Hauptunterschied - ArrayList vs LinkedList
 

Sammlungen dienen zum Speichern von Daten. In einem normalen Array ist die Arraygröße festgelegt. Manchmal ist es erforderlich, Arrays zu erstellen, die je nach Bedarf wachsen können. Programmiersprachen wie Java verfügen über 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 Collections-Framework. 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 die Schnittstellen List, Deque und Queue implementiert, die intern eine doppelt verknüpfte Liste zum Speichern von Datenelementen verwenden. Das ist die Hauptunterschied zwischen ArrayList und LinkedList.

INHALT

1. Übersicht und Schlüsseldifferenz
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 Gruppe 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 add () -Methode kann verwendet werden, um der Liste Elemente hinzuzufügen. Die remove () -Methode wird verwendet, um ein Element aus der Liste zu entfernen. Siehe das untenstehende Programm.

Abbildung 01: Beispiel für ArrayList

Gemäß dem obigen 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 remove-Methode wird verwendet, um ein Element aus der Liste zu entfernen. Wenn Sie 4 an die remove-Methode übergeben, wird der Buchstabe im vierten 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 verwendet, um Datenelemente dynamisch zu speichern. Ein mit der LinkedList-Klasse erstelltes Objekt darf eine Gruppe 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. Die erste Verbindung 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. Die get () -Methode kann verwendet werden, um auf Elemente der Liste zuzugreifen. Die add () -Methode kann verwendet werden, um der Liste Elemente hinzuzufügen. Die remove () -Methode wird verwendet, um ein Element aus der Liste zu entfernen. Siehe das untenstehende Programm.

Abbildung 02: Beispiel mit LinkedList

Gemäß dem obigen Programm wird ein Objekt von LinkedList 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 remove-Methode wird verwendet, um ein Element aus der Liste zu entfernen. Wenn Sie 4 an die remove-Methode übergeben, wird der Buchstabe im vierten Index, der "E" ist, aus der Liste entfernt. Beim Durchlaufen 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??

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 die Schnittstellen List, Deque und Queue implementiert, die intern eine doppelt verknüpfte Liste zum Speichern von Datenelementen verwendet.
 Zugriff auf Elemente
Der Zugriff auf Elemente von ArrayList ist schneller als auf eine LinkedList. Der Zugriff auf Elemente von LinkedList ist langsamer als auf eine ArrayList.
Elemente manipulieren
Das Bearbeiten von Elementen von ArrayList ist langsamer als von LinkedList. Das Bearbeiten von Elementen von LinkedList ist schneller als von ArrayList.
 Verhalten
ArrayList wird als Liste ausgeführt. LinkedList führt eine Liste und eine Warteschlange aus.

Zusammenfassung - ArrayList vs LinkedList

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

Referenz:

1.Einführung in verknüpfte Liste | Datenstruktur-Lernprogramm | Studieren heute Nacht. Hier verfügbar
2. "LinkedList in Java - Javatpoint".,Die Stelle, Hier verfügbar
3. "Java ArrayList-Klasse - Javatpoint". Die Stelle, Hier verfügbar