package util.list; import java.util.NoSuchElementException; import util.list.Iterator; public class ListIterator implements Iterator { private List myList = null; private ListLink cursor = null; ListIterator(List aList) { myList = aList; start(); } public void start() { cursor = myList.getHead(); } public boolean cont() { return cursor != null; } public void next() { cursor = cursor.getNext(); } public Object getCurrent() { return cursor.getInfo(); } public Object getNext() throws NoSuchElementException { if (!hasNext()) throw new NoSuchElementException(); return cursor.getNext().getInfo(); } public boolean hasNext() { return (cont() && cursor.getNext() != null); } public void insertNext(Object info) { cursor.setNext(new ListLink(info, cursor.getNext())); } public void removeNext() throws NoSuchElementException { if (!hasNext()) throw new NoSuchElementException(); cursor.setNext(cursor.getNext().getNext()); } }