Java LinkedList


Java LinkedList

Nel capitolo precedente, hai imparato a conoscere la ArrayListclasse. La LinkedListclasse è 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 LinkedListclasse è una raccolta che può contenere molti oggetti dello stesso tipo, proprio come il ArrayList.

La LinkedListclasse ha tutti gli stessi metodi della ArrayListclasse perché entrambi implementano l' Listinterfaccia. Ciò significa che puoi aggiungere elementi, modificare elementi, rimuovere elementi e cancellare l'elenco allo stesso modo.

Tuttavia, mentre la ArrayListclasse e la LinkedListclasse possono essere utilizzate allo stesso modo, sono costruite in modo molto diverso.

Come funziona ArrayList

La ArrayListclasse 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 LinkedListsuoi 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 ArrayListper 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 LinkedListfornisce 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