/** @author Adriano Luchetta @version 3-Dic-2004 */ public interface ListIterator { /** restituisce l'elemento nella posizione successiva all'iteratore. Deve essere invocato dopo una chiamata al metodo hasNext() solo se questo ritorna true, esempio: if (lista.hasNext()) obj = lista.next(); Se viene chiamata senza la verifica effettuata dal metodo hasNext() puo' lanciare NoSuchElementException. L'invocazione al metodo next() fa avanzare l'iteratore nella lista. @return il prossimo elemento nella lista @throws java.util.NoSuchElementException */ Object next() throws java.util.NoSuchElementException; /** @return true se c'e' un prossimo elemento nella lista, false altrimenti */ boolean hasNext(); /** aggiunge un elemento nella posizione successiva all'iteratore. La posizione dell'iteratore non cambia. @param x l'oggetto da aggiungere nella lista */ void add(Object x); /** rimuove l'elemento nella posizione precedente all'iteratore. Se invocato senza una precedente chiamata al metodo next() lancia l'eccezione java.lang.IllegalStateException @throws IllegalStateException */ void remove() throws IllegalStateException; }