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 Precedente – Lezione Successiva |
Lascia un commento