LinkedList ist eine der beliebtesten Datenstrukturen in der Programmiersprache Java. Es ermöglicht Ihnen, eine Sequenz von Elementen zu speichern und zu verwalten, wobei jedes Element einen Verweis auf das vorherige und das nächste Element enthält.
Um eine LinkedList in Java zu erstellen, müssen Sie die bereits integrierte LinkedList-Klasse aus dem Java-Paket verwenden.util. Diese Klasse stellt eine Reihe von Methoden bereit, mit denen Sie Elemente in einer verknüpften Liste hinzufügen, entfernen, ändern und suchen können.
Der erste Schritt besteht darin, ein LinkedList-Objekt mit dem Operator new zu erstellen:
LinkedList linkedList = new LinkedList();
Wenn Sie eine LinkedList deklarieren, geben Sie den Datentyp an, der in der Liste gespeichert werden soll. Wenn wir beispielsweise eine Liste von ganzen Zahlen erstellen möchten, können Sie den folgenden Eintrag verwenden:
LinkedList linkedList = new LinkedList();
Jetzt haben wir eine leere LinkedList, in die Sie Elemente hinzufügen und löschen können, um sie zu suchen. In den folgenden Artikeln werden wir die grundlegenden Methoden der LinkedList und Beispiele für ihre Verwendung untersuchen.
Definition und Struktur der LinkedList
Die LinkedList-Struktur besteht aus Knoten, wobei jeder Knoten Daten und einen Verweis auf den nächsten Knoten enthält. Jeder Vorgang zum Hinzufügen und Entfernen eines Elements aus der Liste erfordert, dass die Verweise auf die vorherigen und nächsten Knoten geändert werden.
Der Vorteil von LinkedList gegenüber anderen Datenstrukturen wie einem Array besteht darin, dass LinkedList Elemente effizient aus einer Liste hinzufügen und entfernen kann, ohne sie an neue Speicherpositionen kopieren zu müssen.
Vor- und Nachteile von LinkedList
Vorteile:
1. Effektives Hinzufügen und Entfernen von Elementen: LinkedList ermöglicht das schnelle Hinzufügen und Entfernen von Elementen, da es nicht erforderlich ist, die gesamte Sammlung neu zu kopieren, wenn Sie die Größe ändern. Dies ist besonders nützlich bei der Arbeit mit Big Data oder bei häufigen Hinzufügungen und Löschvorgängen.
2. Flexibilität: Mit LinkedList können Sie verschiedene Datentypen speichern, einschließlich Null-Werte. Außerdem bietet es verschiedene Methoden zur Arbeit mit Sammlungselementen an, z. B. das erste/letzte Element abrufen, eine Unterliste abrufen, mehrere LinkedList zusammenführen usw.
3. Implementieren der Queue-Schnittstelle: Eine LinkedList kann als Warteschlange verwendet werden, indem die Queue-Schnittstellenimplementierung verwendet wird. Dies macht LinkedList nützlich bei der Lösung von Aufgaben, bei denen die Reihenfolge der Elemente wichtig ist.
Nachteile:
1. Langsamer Zugriff auf Elemente nach Index: Eine LinkedList benötigt einen Durchlauf durch die gesamte Struktur, um ein Element über seinen Index abzurufen. Daher werden die Operationen zum Abrufen von Elementen (get()) langsamer ausgeführt als bei einer ArrayList.
2. Benötigt mehr Speicher: Jeder Knoten in der LinkedList benötigt zusätzlichen Speicherplatz, um einen Verweis auf den nächsten und vorherigen Knoten zu speichern. Daher benötigt eine LinkedList mehr Speicher als eine ArrayList, wenn dieselbe Anzahl von Elementen gespeichert wird.
3. Benötigt mehr Zeit zum Umgehen: Eine LinkedList benötigt einen Durchlauf durch die gesamte Struktur, um Einfüge-, Lösch- und Zugriffs-Vorgänge für Elemente durchzuführen. Dies kann die Ausführung einiger Operationen im Vergleich zu anderen Sammlungen verlangsamen.
Wie erstelle ich eine LinkedList
Das Erstellen einer LinkedList in Java ist sehr einfach. Zuerst müssen Sie die LinkedList-Klasse importieren:
import java.util.LinkedList;
Sie können dann ein LinkedList-Objekt erstellen, indem Sie den Typ der Objekte angeben, die in der Liste gespeichert werden sollen. Wenn Sie beispielsweise eine Liste zum Speichern Ganzzahlen erstellen möchten, können Sie Folgendes Objekt erstellen:
LinkedList list = new LinkedList<>();
Sie können der Liste jetzt Elemente hinzufügen, indem Sie die add-Methode verwenden. Zum Beispiel, um der Liste die Nummer 5 hinzuzufügen:
list.add(5);
Sie können auch Elemente am Ende einer Liste hinzufügen, indem Sie die addLast-Methode verwenden :
list.addLast(10);
Sie können die get-Methode verwenden, um ein Element aus einer Liste nach Index abzurufen. Zum Beispiel, um das erste Element einer Liste zu erhalten:
int firstElement = list.get(0);
LinkedList bietet auch viele andere Methoden zum Hinzufügen, Entfernen und Ändern von Elementen. Verwenden Sie sie je nach Ihren Bedürfnissen.
Operationen mit LinkedList
Hinzufügen eines Elements am Ende der Liste:
Um ein Element am Ende einer verknüpften Liste hinzuzufügen, verwenden Sie die Methode add(). Die Methode fügt das angegebene Element am Ende der Liste hinzu.
Entfernen eines Elements aus einer Liste:
Um ein Element aus der verknüpften Liste zu entfernen, verwenden Sie die Methode remove(). Die Methode entfernt das angegebene Element aus der Liste, falls vorhanden. Wenn kein Element gefunden wird, tut die Methode nichts.
Abrufen eines Elements nach Index:
Um ein Element nach Index in einer Themenliste abzurufen, müssen Sie die Methode verwenden get(). Die Methode gibt ein Element zurück, das sich am angegebenen Index befindet.
Überprüfen, ob ein Element in der Liste vorhanden ist:
Um zu überprüfen, ob ein Element in der verknüpften Liste vorhanden ist, verwenden Sie die Methode contains(). Die Methode gibt zurück true, wenn das Element in der Liste vorhanden ist, andernfalls - false.
Beispiel für die Verwendung von LinkedList in Java
Eine LinkedList in Java ist eine Datenstruktur, die eine flexiblere Implementierung einer verknüpften Liste bietet.
Hier ist ein Beispiel für die Verwendung von LinkedList in Java:
import java.util.LinkedList;public class LinkedListExample ();// Добавление элементов в LinkedListlinkedList.add("Первый элемент");linkedList.add("Второй элемент");linkedList.add("Третий элемент");System.out.println("Содержимое LinkedList: " + linkedList);// Доступ к элементам LinkedListString firstElement = linkedList.getFirst();String lastElement = linkedList.getLast();System.out.println("Первый элемент: " + firstElement);System.out.println("Последний элемент: " + lastElement);// Удаление элементов из LinkedListlinkedList.removeFirst();linkedList.removeLast();System.out.println("Содержимое LinkedList после удаления: " + linkedList);>>
Durch die Ausführung dieses Codes wird Folgendes ausgegeben:
Содержимое LinkedList: [Первый элемент, Второй элемент, Третий элемент]Первый элемент: Первый элементПоследний элемент: Третий элементСодержимое LinkedList после удаления: [Второй элемент]
Das Beispiel zeigt, wie Sie ein LinkedList-Objekt erstellen, Elemente hinzufügen, auf Elemente zugreifen und Elemente entfernen. LinkedList bietet verschiedene Methoden zum Arbeiten mit einer Liste, die zum Ausführen verschiedener Operationen verwendet werden können.