Vergleichstabelle
Vergleichsgrundlage | Liste | Anordnungsliste |
---|---|---|
Basic | Liste ist eine Schnittstelle | ArrayList ist eine Standard-Collection-Klasse. |
Syntax | Schnittstellenliste | Klasse ArrayList |
Erweitern / Implementieren | Die Listenschnittstelle erweitert das Collection Framework. | ArrayList erweitert AbstractList und implementiert die Listenschnittstelle. |
Namensraum | System.Collections.Generic. | Systemkollektionen. |
Arbeit | Es wird verwendet, um eine Liste von Elementen (Objekten) zu erstellen, die ihren Indexnummern zugeordnet sind. | ArrayList wird verwendet, um ein dynamisches Array zu erstellen, das Objekte enthält. |
Definition der Liste
List ist eine Schnittstelle, die das Collection- Framework erweitert. Listenschnittstelle beschreibt die Sammlung von Elementen, die nacheinander angeordnet sind. Die Listenschnittstelle wird von den folgenden standardmäßigen Collection-Klassen implementiert, wie ArrayList, LinkedList, CopyOnWriteArrayList, Vector und Stack . Die Listenschnittstelle enthält Elemente, die ihren Indexnummern zugeordnet sind. Sie können auf ein Element in der Liste über seine Position (Index) in der Liste zugreifen. Eine mit der List-Schnittstelle erstellte Liste beginnt mit einem auf Null basierenden Index.
Zusätzlich zu den vom Collection-Framework geerbten Methoden definiert die List-Schnittstelle auch einige eigene Methoden. Die von der List-Schnittstelle hinzugefügten Methoden sind add (int, E) und addAll (int, Collection) . Diese Methoden fügen der Liste ein Element anhand ihres Index hinzu. Methoden innerhalb der Liste können eine Ausnahme wie UnsupportedOperationException auslösen, wenn die Methode die Liste nicht ändern kann. Wenn ein Objekt in einer Liste nicht mit einem anderen Objekt in der Liste kompatibel ist, wird ClassCastException ausgelöst. Wenn Sie versuchen, ein Nullobjekt in die Liste einzufügen, sind keine Elemente in der Liste zulässig. Es wird NullPointerException ausgelöst.
Sie können ein Element aus der Liste mit der get () -Methode erhalten. Sie können den Wert eines Elements in der Liste mit der set () -Methode festlegen . Sie können die Unterliste auch über eine Methodenunterliste () aus der Liste abrufen . Es ist praktisch, die Unterliste anstelle einer Liste zu bearbeiten.
Definition von ArrayList
Eine der Standard-Collection-Klassen ist ArrayList, die die AbstractList- Klasse erweitert und auch die List- Schnittstelle implementiert. Mit der ArrayList-Klasse werden dynamische Arrays erstellt, die bei Bedarf vergrößert oder verkleinert werden. Die mit der ArrayList-Klasse erstellte Liste besteht nur aus dem Array von Objekten. In Java hat das Standardarray die feste Länge, daher müssen Sie die Größe des Arrays im Voraus kennen. Es kann jedoch vorkommen, dass Sie möglicherweise nicht wissen, welche Länge des Arrays Sie bis zur Laufzeit benötigen. Daher wurde im 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 beim Hinzufügen von Elementen zum Array automatisch erhöht wird, können Sie die Kapazität des Objekts von ArrayList mithilfe der Methode " sureCapacity ()" weiterhin manuell erhöhen. Es ist besser, die Kapazität des Arrays anfangs zu erhöhen, anstatt den Speicher später neu zuzuordnen. Denn eine Neuzuweisung ist kostspieliger als die gleichzeitige Zuweisung des Speichers.
Hauptunterschiede zwischen Liste und ArrayList
- Einer der wichtigsten Unterschiede zwischen List und ArrayList besteht darin, dass list eine Schnittstelle ist und ArrayList eine Standard-Collection- Klasse ist .
- List-Schnittstelle erweitert das Collection- Framework, während ArrayList die AbstractList- Klasse erweitert und List- Schnittstellen implementiert.
- Der Namespace für die List-Schnittstelle ist System.Collection.Generic, wohingegen der Namespace für ArrayList System.Collection ist .
- Die Listenschnittstelle erstellt eine Sammlung von Elementen, die in einer Sequenz gespeichert sind und anhand ihrer Indexnummer identifiziert werden. Andererseits erstellt ArrayList ein Array von Objekten, bei denen das Array bei Bedarf dynamisch vergrößert werden kann.
Fazit:
Die ArrayList behebt das Problem eines statischen Arrays in Standard-Java, dh das Array kann nach seiner Erstellung nicht größer werden. Wenn ein Array mit ArrayList erstellt wird, wird ein dynamisches Array erstellt, das bei Bedarf vergrößert und verkleinert werden kann. Die Standard-Collection-Klasse ArrayList erweitert die List-Schnittstelle.