Java LinkedList
Java LinkedList
Im vorigen Kapitel haben Sie die ArrayList
Klasse kennengelernt. Die LinkedList
Klasse ist fast identisch mit der
ArrayList
:
Beispiel
// Import the LinkedList class
import java.util.LinkedList;
public class Main {
public static void main(String[] args) {
LinkedList<String> cars = new LinkedList<String>();
cars.add("Volvo");
cars.add("BMW");
cars.add("Ford");
cars.add("Mazda");
System.out.println(cars);
}
}
ArrayList vs. LinkedList
Die LinkedList
Klasse ist eine Sammlung, die viele Objekte desselben Typs enthalten kann, genau wie die ArrayList
.
Die LinkedList
Klasse hat dieselben Methoden wie die ArrayList
Klasse, da beide die List
Schnittstelle implementieren. Das bedeutet, dass Sie Artikel hinzufügen, Artikel ändern, Artikel entfernen und die Liste auf die gleiche Weise löschen können.
Obwohl die ArrayList
Klasse und die LinkedList
Klasse auf die gleiche Weise verwendet werden können, sind sie jedoch sehr unterschiedlich aufgebaut.
Wie die ArrayList funktioniert
Die ArrayList
Klasse enthält ein reguläres Array. Wenn ein Element hinzugefügt wird, wird es in das Array eingefügt. Wenn das Array nicht groß genug ist, wird ein neues, größeres Array erstellt, um das alte zu ersetzen, und das alte wird entfernt.
Wie die LinkedList funktioniert
Der LinkedList
speichert seine Artikel in "Containern". Die Liste hat einen Link zum ersten Container und jeder Container hat einen Link zum nächsten Container in der Liste. Um der Liste ein Element hinzuzufügen, wird das Element in einem neuen Container platziert und dieser Container mit einem der anderen Container in der Liste verknüpft.
Wann zu verwenden
Verwenden Sie eine ArrayList
zum Speichern und Zugreifen auf Daten und LinkedList
zum Bearbeiten von Daten.
LinkedList-Methoden
In vielen Fällen ist die ArrayList
effizienter, da es üblich ist, Zugriff auf zufällige Elemente in der Liste zu benötigen, aber die LinkedList
bietet mehrere Methoden, um bestimmte Operationen effizienter auszuführen:
Method | Description | Try it |
---|---|---|
addFirst() | Adds an item to the beginning of the list. | |
addLast() | Add an item to the end of the list | |
removeFirst() | Remove an item from the beginning of the list. | |
removeLast() | Remove an item from the end of the list | |
getFirst() | Get the item at the beginning of the list | |
getLast() | Get the item at the end of the list |