Java LinkedList
Java LinkedList
Nel capitolo precedente, hai imparato a conoscere la ArrayList
classe. La LinkedList
classe è quasi identica a
ArrayList
:
Esempio
// 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 e LinkedList
La LinkedList
classe è una raccolta che può contenere molti oggetti dello stesso tipo, proprio come il ArrayList
.
La LinkedList
classe ha tutti gli stessi metodi della ArrayList
classe perché entrambi implementano l' List
interfaccia. Ciò significa che puoi aggiungere elementi, modificare elementi, rimuovere elementi e cancellare l'elenco allo stesso modo.
Tuttavia, mentre la ArrayList
classe e la LinkedList
classe possono essere utilizzate allo stesso modo, sono costruite in modo molto diverso.
Come funziona ArrayList
La ArrayList
classe ha un array regolare al suo interno. Quando un elemento viene aggiunto, viene inserito nell'array. Se l'array non è abbastanza grande, viene creato un nuovo array più grande per sostituire quello vecchio e quello vecchio viene rimosso.
Come funziona la LinkedList
Conserva i LinkedList
suoi articoli in "contenitori". L'elenco ha un collegamento al primo contenitore e ogni contenitore ha un collegamento al contenitore successivo nell'elenco. Per aggiungere un elemento all'elenco, l'elemento viene inserito in un nuovo contenitore e tale contenitore viene collegato a uno degli altri contenitori nell'elenco.
Quando usare
Utilizzare an ArrayList
per archiviare e accedere ai dati e LinkedList
per manipolare i dati.
Metodi LinkedList
In molti casi, ArrayList
è più efficiente in quanto è comune la necessità di accedere a elementi casuali nell'elenco, ma LinkedList
fornisce diversi metodi per eseguire determinate operazioni in modo più efficiente:
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 |