Java: la classe LinkedList
La classe LinkedList estende AbstractSequentialList e implementa l'interfaccia List. Fornisce una struttura dati di elenchi collegati.
Di seguito sono riportati i costruttori supportati dalla classe LinkedList.
Sr.No. | Costruttore e descrizione |
---|---|
1 | LinkedList( ) Questo costruttore crea un elenco collegato vuoto. |
2 | LinkedList(Collection c) Questo costruttore crea un elenco collegato che viene inizializzato con gli elementi della raccolta c. |
Oltre ai metodi ereditati dalle sue classi padre, LinkedList definisce i seguenti metodi:
Sr.No. | Metodo e descrizione |
---|---|
1 | void add(int index, Object element) Inserisce l'elemento specificato in corrispondenza dell'indice di posizione specificato in questo elenco. Genera IndexOutOfBoundsException se l'indice specificato è fuori intervallo (index <0 || index> size ()). |
2 | boolean add(Object o) Aggiunge l'elemento specificato alla fine di questo elenco. |
3 | boolean addAll(Collection c) Aggiunge tutti gli elementi nella raccolta specificata alla fine di questo elenco, nell'ordine in cui vengono restituiti dall'iteratore della raccolta specificata. Genera NullPointerException se la raccolta specificata è null. |
4 | boolean addAll(int index, Collection c) Inserisce tutti gli elementi nella raccolta specificata in questo elenco, a partire dalla posizione specificata. Genera NullPointerException se la raccolta specificata è null. |
5 | void addFirst(Object o) Inserisce l'elemento dato all'inizio di questo elenco. |
6 | void addLast(Object o) Aggiunge l'elemento specificato alla fine di questo elenco. |
7 | void clear() Rimuove tutti gli elementi da questo elenco. |
8 | Object clone() Restituisce una copia superficiale di questo LinkedList. |
9 | boolean contains(Object o) Restituisce vero se questo elenco contiene l'elemento specificato. Più formalmente, restituisce true se e solo se questa lista contiene almeno un elemento e tale che (o == null? E == null: o.equals (e)). |
10 | Object get(int index) Restituisce l'elemento nella posizione specificata in questo elenco. Genera IndexOutOfBoundsException se l'indice specificato è fuori intervallo (index <0 || index> = size ()). |
11 | Object getFirst() Restituisce il primo elemento in questo elenco. Genera NoSuchElementException se questo elenco è vuoto. |
12 | Object getLast() Restituisce l'ultimo elemento in questo elenco. Genera NoSuchElementException se questo elenco è vuoto. |
13 | int indexOf(Object o) Restituisce l'indice in questo elenco della prima occorrenza dell'elemento specificato o -1 se l'elenco non contiene questo elemento. |
14 | int lastIndexOf(Object o) Restituisce l'indice in questo elenco dell'ultima occorrenza dell'elemento specificato o -1 se l'elenco non contiene questo elemento. |
15 | ListIterator listIterator(int index) Restituisce un elenco-iteratore degli elementi in questo elenco (nella sequenza corretta), a partire dalla posizione specificata nell'elenco. Genera IndexOutOfBoundsException se l'indice specificato è fuori intervallo (index <0 || index> = size ()). |
16 | Object remove(int index) Rimuove l'elemento nella posizione specificata in questo elenco. Genera NoSuchElementException se questo elenco è vuoto. |
17 | boolean remove(Object o) Rimuove la prima occorrenza dell'elemento specificato in questo elenco. Genera NoSuchElementException se questo elenco è vuoto. Genera IndexOutOfBoundsException se l'indice specificato è fuori intervallo (index <0 || index> = size ()). |
18 | Object removeFirst() Rimuove e restituisce il primo elemento da questo elenco. Genera NoSuchElementException se questo elenco è vuoto. |
19 | Object removeLast() Rimuove e restituisce l'ultimo elemento da questo elenco. Genera NoSuchElementException se questo elenco è vuoto. |
20 | Object set(int index, Object element) Sostituisce l'elemento nella posizione specificata in questo elenco con l'elemento specificato. Genera IndexOutOfBoundsException se l'indice specificato è fuori intervallo (index <0 || index> = size ()). |
21 | int size() Restituisce il numero di elementi in questo elenco. |
22 | Object[] toArray() Restituisce un array contenente tutti gli elementi in questo elenco nell'ordine corretto. Genera NullPointerException se la matrice specificata è null. |
23 | Object[] toArray(Object[] a) Restituisce un array contenente tutti gli elementi in questo elenco nell'ordine corretto; il tipo di runtime dell'array restituito è quello dell'array specificato. |
Esempio
Il seguente programma illustra molti dei metodi supportati da LinkedList:
import java.util.*;
public class LinkedListDemo {
public static void main(String args[]) {
// create a linked list
LinkedList ll = new LinkedList();
// add elements to the linked list
ll.add("F");
ll.add("B");
ll.add("D");
ll.add("E");
ll.add("C");
ll.addLast("Z");
ll.addFirst("A");
ll.add(1, "A2");
System.out.println("Original contents of ll: " + ll);
// remove elements from the linked list
ll.remove("F");
ll.remove(2);
System.out.println("Contents of ll after deletion: " + ll);
// remove first and last elements
ll.removeFirst();
ll.removeLast();
System.out.println("ll after deleting first and last: " + ll);
// get and set a value
Object val = ll.get(2);
ll.set(2, (String) val + " Changed");
System.out.println("ll after change: " + ll);
}
}
Questo produrrà il seguente risultato:
Produzione
Original contents of ll: [A, A2, F, B, D, E, C, Z]
Contents of ll after deletion: [A, A2, D, E, C, Z]
ll after deleting first and last: [A2, D, E, C]
ll after change: [A2, D, E Changed, C]