lab2
Class LinkedList

java.lang.Object
  |
  +--lab2.LinkedList
All Implemented Interfaces:
List

public class LinkedList
extends java.lang.Object
implements List

Classe LinkedList: Semplice gestione di una lista unidirezionale con la possibilità di avere un iteratore (cursore). Si vedano le classi di Java Collections API disponibili in java.util.* (JDK 1.2) [LinkedList]. Si noti che esistono altre possibili realizzazioni di lista con metodi diversi da quelli presentati e usando altri tipi di iteratori. Il metodo remove con argomento si riferisce all'interfaccia List; il metodo remove senza argomento si riferisce all'interfaccia Iterator. Quest'ultimo metodo evita modifiche concorrenti che possano interferire con altre istanze di iteratori mediante contatori di modifiche.

See Also:
List, ListNode

Inner Class Summary
protected  class LinkedList.ProtectedItr
           
 
Field Summary
protected  ListNode first
           
protected  ListNode last
           
protected  int modCount
           
 
Constructor Summary
LinkedList()
          Costruttore di lista vuota
 
Method Summary
 boolean add(java.lang.Object x)
          Inserisce un oggetto in fondo alla lista.
 void clear()
          Svuota la lista.
 boolean contains(java.lang.Object x)
          Verifica se la lista contiene l'oggetto specificato, usando il metodo standard equals (l'oggetto può occorrere più volte).
 boolean isEmpty()
          Verifica che la lista sia logicamente vuota.
 Iterator iterator()
          Restituisce un iteratore sulla lista per scandire gli oggetti in sequenza a partire dall'inizio della lista.
 boolean remove(java.lang.Object x)
          Cancella la prima occorrenza dell'oggetto a partire dall'inizio della lista, che rimane inalterata se non contiene l'oggetto.
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

first

protected ListNode first

last

protected ListNode last

modCount

protected int modCount
Constructor Detail

LinkedList

public LinkedList()
Costruttore di lista vuota
Method Detail

isEmpty

public boolean isEmpty()
Verifica che la lista sia logicamente vuota.
Specified by:
isEmpty in interface List
Returns:
true se la lista è vuota; false altrimenti.

clear

public void clear()
Svuota la lista.
Specified by:
clear in interface List

contains

public boolean contains(java.lang.Object x)
Verifica se la lista contiene l'oggetto specificato, usando il metodo standard equals (l'oggetto può occorrere più volte).
Specified by:
contains in interface List
Parameters:
x - l'oggetto da cercare nella lista.
Returns:
true se la lista contiene l'oggetto; false altrimenti.
Throws:
java.lang.IllegalArgumentException - se l'argomento passato è null.

add

public boolean add(java.lang.Object x)
Inserisce un oggetto in fondo alla lista. Non sono ammessi oggetti null.
Specified by:
add in interface List
Parameters:
x - l'oggetto da inserire, diverso da null.
Returns:
true come richiesto da Java Collection API.
Throws:
java.lang.IllegalArgumentException - se l'argomento passato è null.

remove

public boolean remove(java.lang.Object x)
Cancella la prima occorrenza dell'oggetto a partire dall'inizio della lista, che rimane inalterata se non contiene l'oggetto. Il metodo standard equals viene impiegato per trovare la prima occorrenza.
Specified by:
remove in interface List
Parameters:
x - l'oggetto da cancellare, se presente e diverso da null.
Returns:
true se la lista contiene l'oggetto; false altrimenti.
Throws:
java.lang.IllegalArgumentException - se l'argomento passato è null.

iterator

public Iterator iterator()
Restituisce un iteratore sulla lista per scandire gli oggetti in sequenza a partire dall'inizio della lista. Se la lista è modificata con metodi diversi da quelli dell'iteratore, viene generata una eccezione ConcurrentModificationException. In tal caso, l'iterazione termina per evitare comportamenti difficili da prevedere.
Specified by:
iterator in interface List
Returns:
una classe che realizza Iterator per scandire gli oggetti in sequenza dall'inizio.
Throws:
ConcurrentModificationException - se avviene una modifica concorrente mediante altri metodi.