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]