In diesem Tutorial lernen wir die List-Oberfläche in Java und ihre Methoden kennen.
In Java ist die List
Schnittstelle eine geordnete Sammlung, mit der wir Elemente nacheinander speichern und darauf zugreifen können. Es erweitert die Collection
Schnittstelle.
Klassen, die eine Liste implementieren
Da List
es sich um eine Schnittstelle handelt, können wir daraus keine Objekte erstellen.
Um die Funktionen der List
Schnittstelle zu nutzen, können wir folgende Klassen verwenden:
- Anordnungsliste
- LinkedList
- Vektor
- Stapel
Diese Klassen werden im Collections Framework definiert und implementieren die List
Schnittstelle.
Wie benutzt man List?
In Java müssen wir das java.util.List
Paket importieren , um es verwenden zu können List
.
// ArrayList implementation of List List list1 = new ArrayList(); // LinkedList implementation of List List list2 = new LinkedList();
Hier haben wir die Objekte list1 und list2 der Klassen ArrayList
und erstellt LinkedList
. Diese Objekte können die Funktionen der List
Schnittstelle nutzen.
Methoden der Liste
Die List
Schnittstelle enthält alle Methoden der Collection
Schnittstelle. Sein weil Collection
ist eine super Schnittstelle von List
.
Einige der häufig verwendeten Methoden der Collection
Schnittstelle, die auch in der List
Schnittstelle verfügbar sind, sind:
add()
- fügt einer Liste ein Element hinzuaddAll()
- fügt alle Elemente einer Liste einer anderen hinzuget()
- hilft beim zufälligen Zugriff auf Elemente aus Listeniterator()
- Gibt ein Iteratorobjekt zurück, mit dem nacheinander auf Elemente von Listen zugegriffen werden kannset()
- Ändert Elemente von Listenremove()
- Entfernt ein Element aus der ListeremoveAll()
- Entfernt alle Elemente aus der Listeclear()
- Entfernt alle Elemente aus der Liste (effizienter alsremoveAll()
)size()
- Gibt die Länge der Listen zurücktoArray()
- konvertiert eine Liste in ein Arraycontains()
- Gibt zurück,true
wenn eine Liste ein bestimmtes Element enthält
Implementierung der Listenschnittstelle
1. Implementieren der ArrayList-Klasse
import java.util.List; import java.util.ArrayList; class Main ( public static void main(String() args) ( // Creating list using the ArrayList class List numbers = new ArrayList(); // Add elements to the list numbers.add(1); numbers.add(2); numbers.add(3); System.out.println("List: " + numbers); // Access element from the list int number = numbers.get(2); System.out.println("Accessed Element: " + number); // Remove element from the list int removedNumber = numbers.remove(1); System.out.println("Removed Element: " + removedNumber); ) )
Ausgabe
Liste: (1, 2, 3) Zugriffselement: 3 Entferntes Element: 2
Weitere ArrayList
Informationen finden Sie unter Java ArrayList.
2. Implementieren der LinkedList-Klasse
import java.util.List; import java.util.LinkedList; class Main ( public static void main(String() args) ( // Creating list using the LinkedList class List numbers = new LinkedList(); // Add elements to the list numbers.add(1); numbers.add(2); numbers.add(3); System.out.println("List: " + numbers); // Access element from the list int number = numbers.get(2); System.out.println("Accessed Element: " + number); // Using the indexOf() method int index = numbers.indexOf(2); System.out.println("Position of 3 is " + index); // Remove element from the list int removedNumber = numbers.remove(1); System.out.println("Removed Element: " + removedNumber); ) )
Ausgabe
Liste: (1, 2, 3) Zugriffselement: 3 Position 3 ist 1 Entferntes Element: 2
Weitere LinkedList
Informationen finden Sie unter Java LinkedList.
Java List vs. Set
Sowohl die List
Schnittstelle als auch die Set
Schnittstelle erben die Collection
Schnittstelle. Es gibt jedoch einige Unterschiede zwischen ihnen.
- Listen können doppelte Elemente enthalten. Mengen können jedoch keine doppelten Elemente enthalten.
- Elemente in Listen werden in einer bestimmten Reihenfolge gespeichert. Elemente in Mengen werden jedoch in Gruppen wie Mengen in der Mathematik gespeichert.
Nachdem wir nun wissen, was List
ist, werden wir die Implementierungen ArrayList
und LinkedList
Klassen in den nächsten Tutorials im Detail sehen.