Unterschied zwischen List und ArrayList in Java

Autor: Laura McKinney
Erstelldatum: 2 April 2021
Aktualisierungsdatum: 15 Kann 2024
Anonim
LinkedList vs ArrayList in Java | Differences between ArrayList and LinkedList | Edureka
Video: LinkedList vs ArrayList in Java | Differences between ArrayList and LinkedList | Edureka

Inhalt


List und ArrayList sind die Mitglieder des Collection-Frameworks. Liste ist eine Sammlung von Elementen in einer Sequenz, bei der jedes Element ein Objekt ist und auf die Elemente über seine Position (Index) zugegriffen wird. ArrayList erstellt ein dynamisches Array von Objekten, das bei Bedarf vergrößert oder verkleinert wird. Der Hauptunterschied zwischen List und ArrayList besteht darin, dass Liste ist eine Schnittstelle und Anordnungsliste ist eine Klasse. Lassen Sie uns den Unterschied zwischen List und ArrayList anhand der folgenden Vergleichstabelle untersuchen.

  1. Vergleichstabelle
  2. Definition
  3. Hauptunterschiede
  4. Fazit

Vergleichstabelle

Grundlage für den VergleichListeAnordnungsliste
BasicListe ist eine SchnittstelleArrayList ist eine Standardauflistungsklasse.
SyntaxSchnittstellenlisteKlasse ArrayList
Erweitern / ImplementierenDie Listenschnittstelle erweitert das Collection Framework.ArrayList erweitert AbstractList und implementiert List Interface.
NamespaceSystem.Collections.Generic.System.Collections.
ArbeitEs wird verwendet, um eine Liste von Elementen (Objekten) zu erstellen, die ihren Indexnummern zugeordnet sind.Mit ArrayList wird ein dynamisches Array erstellt, das Objekte enthält.


Definition von Liste

Liste ist eine Schnittstelle das erweitert die Sammlung Rahmen. Die Listenschnittstelle beschreibt die Sammlung von Elementen, die nacheinander angeordnet sind. Die Listenschnittstelle wird von den folgenden Standardsammlungsklassen wie implementiert ArrayList, LinkedList, CopyOnWriteArrayList, Vector, Stack. Die Listenschnittstelle enthält Elemente, die mit ihren Indexnummern verknüpft sind. Sie können auf ein Element in der Liste über seine Position (Index) in der Liste zugreifen. Eine mit der Listenschnittstelle erstellte Liste beginnt mit einem auf Null basierenden Index.

Zusätzlich zu den vom Collection-Framework geerbten Methoden definiert die List-Schnittstelle auch eine eigene Methode. Die von der List-Schnittstelle hinzugefügten Methoden sind: addieren (int, E) und addAll (int, Sammlung). Diese Methoden fügen der Liste anhand ihres Index ein Element hinzu. Methoden in der Liste können eine Ausnahme wie auslösen Nicht unterstützteOperationException wenn die Methode die Liste nicht ändern kann. Wenn ein Objekt in einer Liste nicht mit einem anderen Objekt in der Liste kompatibel ist, dann ClassCastException wird ausgelöst.Null-Elemente sind in der Liste nicht zulässig, wenn Sie versuchen, ein Null-Objekt in die Liste einzufügen, NullPointerException ist geworfen.


Sie erhalten ein Element aus der Liste mit erhalten() Methode. Sie können den Wert eines Elements in der Liste mit festlegen einstellen() Methode. Sie können die Unterliste auch mithilfe einer Methode aus der Liste abrufen Unterliste (). Es wird bequemer, die Unterliste anstelle einer Liste zu bearbeiten.

Definition von ArrayList

Eine der standardmäßigen Collection-Klassen ist ArrayList, die erweitert wird AbstractList Klasse und implementiert auch die Liste Schnittstelle. Mit der ArrayList-Klasse werden die dynamischen Arrays erstellt, die bei Bedarf wachsen und schrumpfen. Die mit der ArrayList-Klasse erstellte Liste ist nichts anderes als das Array von Objekten. In Java hat das Standard-Array eine feste Länge. Daher müssen Sie die Größe des Arrays im Voraus kennen. Es kann jedoch vorkommen, dass Sie bis zur Laufzeit nicht wissen, welche Länge des Arrays Sie benötigen. Daher hat das Collection Framework die ArrayList-Klasse eingeführt, um dieses Problem zu beheben.

ArrayList verfügt über Konstruktoren, die das Array mit seiner Anfangskapazität erstellen. Obwohl die Kapazität des Objekts der Klasse ArrayList automatisch erhöht wird, wenn Elemente zum Array hinzugefügt werden, können Sie die Kapazität des Objekts von ArrayList mithilfe der Methode manuell erhöhen verifyCapacity (). Es ist besser, die Kapazität des Arrays zu Beginn zu erhöhen, anstatt den Speicher später neu zuzuweisen. Weil die Neuzuweisung teurer ist als die sofortige Zuweisung des Speichers.

  1. Einer der wichtigsten Unterschiede zwischen List und ArrayList ist, dass es sich bei der Liste um eine handelt Schnittstelle und ArrayList ist eine Standardauflistung Klasse.
  2. Listenoberfläche erweitert die Sammlung Framework während die ArrayList erweitert AbstractList Klasse und es implementiert Liste Schnittstellen.
  3. Der Namespace für die List-Schnittstelle lautet System.Collection.Generic wohingegen der Namespace für ArrayList ist System.Collection.
  4. Die Listenschnittstelle erstellt eine Sammlung von Elementen, die in einer Sequenz gespeichert sind und über ihre Indexnummer identifiziert werden oder auf die zugegriffen werden kann. Andererseits erstellt ArrayList ein Array von Objekten, in dem das Array bei Bedarf dynamisch erweitert werden kann.

Fazit:

Die ArrayList überwindet das Problem eines statischen Arrays in Standard-Java, d. H. Das Array kann nach seiner Erstellung nicht größer werden. Wenn ein Array mit ArrayList erstellt wird, wird ein dynamisches Array erstellt, dessen Größe bei Bedarf vergrößert oder verkleinert werden kann. Die standardmäßige Collection-Klasse ArrayList erweitert die List-Schnittstelle.