/** * Interfaccia ListIterator * Tipo di dati astratto per esercitazione: laboratorio VIII * Rappresenta l'iteratore di una lista * * @author A. Luchetta * @version 3-Dic-2007 * @see Container * @see java.util.Iterator */ public interface ListIterator { /** restituisce l'elemento che segue la posizione dell'iteratore e lo fa avanzare @return l'elemento che segue l'iteratore @throws NoSuchElementException se l'iteratore e' posizionato alla fine della lista */ Object next(); /** verifica se e' possibile invocare il metodo next() senza generare l'eccezione @return false se l'iteratore e' posizionato alla fine della lista, true altrimenti */ boolean hasNext(); /** inserisce l'elemento x nella lista che si aggiunge DOPO la posizione attuale dell'iteratore posiziona poi l'iteratore dopo il nuovo elemento inserito */ void add(Object x); /** elimina l'ultimo dato esaminato dal metodo next() senza modificare la posizione dell'iteratore; puo' essere invocato solo dopo un'invocazione del metodo next() @throws IllegalStateException */ void remove(); }