ArrayList vs LinkedList in Java | Erklärt

ArrayList vs LinkedList in Java | Erklärt
In Java, Anordnungsliste Und LinkedList Beide gehören zum Sammlungsrahmen von Java.Util -Paket und beide erben die Listenklasse. Wenn wir über den Vergleich dieser beiden Listen sprechen, kann er basierend auf verschiedenen Merkmalen, Ähnlichkeiten und Unterschieden erfolgen. Manchmal wird die LinkedList bevorzugt, während in einigen Fällen Arraylisten eine Dominanz haben und es bevorzugt werden, zu verwenden.

Diese Beschreibung wird ein tiefes Verständnis der folgenden Konzepte darstellen:

  • Was sind Arraylisten und LinkedList in Java
  • Schlüsselmerkmale von Arraylists und LinkedList in Java
  • Ähnlichkeiten zwischen Arraylisten und LinkedList in Java
  • Unterschiede zwischen Arraylisten und LinkedList in Java

So lass uns anfangen!

Was ist ArrayList

In Java können Arrays verwendet werden, um die statischen Daten zu speichern, und um die Daten dynamisch zu speichern, bietet Java ein spezielles Sammelframework, das als ArrayList bezeichnet wird. Daher implementiert die Arraylisten die Listenschnittstelle, an der Elemente hinzugefügt und dynamisch aus der Liste entfernt werden können. Die Array -Größe nahm dynamisch zu, wenn die Elemente mehr hinzugefügt werden als die anfängliche Größe der ArrayList.

Funktionen der ArrayList

ArrayList bietet mehrere wichtige Funktionen, von denen einige von ihnen unten aufgeführt sind:

  • Arraylisten sind sehr flexibel, da die Elemente dynamisch hinzugefügt/entfernt werden können.
  • Es kann doppelte Gegenstände aufnehmen.
  • Es ist nicht synchronisiert
  • Es ermöglicht den zufälligen Zugriff auf die Elemente, da es auf der Grundlage von Indizes funktioniert hat.

Was ist LinkedList

Eine lineare Datenstruktur mit der Sammlung mehrerer Knoten, bei denen jeder Knoten einen Wert und einen Zeiger (Link) auf den Ort des nächsten Knotens in der Kette/Sequenz umfasst, während der endgültige Knoten auf den Null zeigt, der zeigt, dass die Liste hier endet. LinkedList enthält verschiedene Typen wie einzig verknüpfte Liste, doppelt verknüpfte Liste und Circular LinkedList.

Funktionen der LinkedList

LinkedList bietet mehrere Funktionen. Einige wichtige Funktionen sind unten aufgeführt:

  • Es implementiert Warteschlangen- und Deque -Schnittstellen, daher können wir sie für eine Warteschlange, Deque oder einen Stapel in einer Liste verwenden.
  • Es behält die Einfügungsreihenfolge von Elementen bei.
  • Es kann auch doppelte Gegenstände halten.
  • Es ist nicht synchronisiert
  • Die Manipulation ist im Vergleich zu ArrayList schneller, da beim Entfernen eines Elements kein Element verschoben werden muss.

Vergleich auf der Grundlage von Ähnlichkeiten

Die wesentlichen Ähnlichkeiten zwischen LinkedList und ArrayList sind unten aufgeführt:

  • Beide sind die Implementierung der Listenschnittstelle.
  • Beide behalten die Einfügungsreihenfolge der Artikel bei.
  • Beide sind nicht synchronisiert.
  • Sowohl ArrayList als auch LinkedList können dieselben Methoden verwenden, um unterschiedliche Funktionen wie Hinzufügen, Entfernen, Ändern der Liste usw. durchzuführen.
  • Beide können doppelte Gegenstände halten.

LinkedList vs ArrayList

Die signifikanten Unterschiede zwischen LinkedList und ArrayList sind unten aufgeführt:

  • In der LinkedList sind Insertion-, Additions- und Entfernungsvorgänge im Vergleich zu den Arraylisten schneller, da die LinkedList nicht die Größe der Linkedliste benötigt.
  • Die LinkedList basiert auf der doppelt verknüpften Implementierung der LinkedList. Andererseits basieren die Arraylisten auf den dynamisch resizierbaren Arrays.
  • LinkedList verbraucht mehr Speicher als ArrayList.
  • ArrayList bietet zufälligen Zugriff auf jedes Element, während LinkedList sequentiellen Zugriff auf die Elemente bietet.
  • In ArrayList ist der Manipulationsprozess im Vergleich zur LinkedList etwas langsam, da in ArrayList, wenn ein Element entfernt wird, zahlreiche Änderungen (Verschiebung der Elemente) stattfinden.

Abschluss

Arraylisten sind die Implementierung der Listenschnittstelle, an der Elemente dynamisch hinzugefügt und aus der Liste entfernt werden können, während die LinkedList eine lineare Datenstruktur ist, die von einer Kette von Knoten gebildet wird, in denen jeder Knoten den Wert und eine Verbindung zum Ort des nächsten Knotens in enthält die Kette. In Anbetracht der Ähnlichkeiten und Unterschiede beider Listen wird der Schluss gezogen, dass Arraylisten die Oberhand beim Speichern und Zugriff auf die Daten haben, während die LinkedList eine bessere Manipulation von Daten bietet. Diese Beschreibung bietet einen detaillierten Vergleich dieser beiden Listen.