La classe LinkedList di List – Lezione 30 di Java Avanzato

Come utilizzare le liste in Java con la collezione LinkedList

LinkedList è un esempio di classe concreta che implementa il pattern Iterator. Si tratta di una lista concatenata e ordinata in cui la posizione dei singoli elementi è importante. In Java, tutte le liste appartenenti alla classe LinkedList sono doppiamente concatenate. La classe LinkedList appartiene alle collezioni che Java mette a disposizione ai programmatori, in particolare estende List e Queue.

In una lista concatenata è difficile accedere a posizioni intermedie, per cui come accade per una lista sequenziale bisogna seguire una serie di collegamenti tra gli elementi per scorrere l’intera lista. Si tratta di un processo poco efficiente e per questa motivo viene utilizzato un iteratore. Un iteratore per una lista concatenata permette di accedere ad una qualsiasi posizione all’interno della lista e contiene i seguenti metodi:

  public boolean add(Object x)

Il metodo add aggiunge un oggetto x in coda alla lista. Restituisce un valore booleano perché è obbligato da una superclasse in comune che obbliga il metodo a restituire true o false, nonostante per le LinkedList il risultato sarà sempre true. Il motivo di tale scelta è dovuto al fatto che alcune classi sorelle non sempre restituiscono un valore positivo.

  public boolean contains(Object x)

Il metodo contains restituisce true se la lista contiene un oggetto y tale che x.equals(y) è vero.

  public int size()

size restituisce la dimensione della lista.

  public void addFirst(Object x)

Il metodo addFirst aggiunge x in testa alla lista.

  public void addLast(Object x)

addLast è equivalente di add(x), ma senza valore restituito.

  public Object removeFirst()

removeFirst rimuove e restituisce la testa della lista. Solleva l’eccezione NoSuchElementException se la lista è vuota.

  public Object removeLast()

removeLast rimuove l’ultimo elemento e restituisce la coda della lista. Solleva l’eccezione NoSuchElementException se la lista è vuota.

Questi ultimi quattro metodi consentono di realizzare strutture come stack , liste, code, ecc.

Nota: LinkedList eredita da List i metodi get e set, metodi che vengono utilizzati per accedere ad un elemento in posizione determinata posizione nella lista. I metodi fanno ripartire ogni volta l’iterazione dalla posizione iniziale. Per questo motivo, anche se presenti, è fortemente sconsigliato utlizzare i metodi get e set con una LinkedList.

Indice Lezione PrecedenteLezione Successiva

Pubblicato in Collezioni, Guide, Java, Programmazione Taggato con: , , , , ,

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

*