package queues; public interface Iterator<E> { /* * Returns true if the iteration has more elements. * In other words, returns true if next would return * an element rather than throwing an exception. */ boolean hasNext(); /* * Returns the next element in the iteration. */ E next(); /* * Removes from the underlying collection the last element * returned by the iterator (optional operation). * This method can be called only once per call to next. * The behavior of an iterator is unspecified if the underlying collection * is modified while the iteration is in progress * in any way other than by calling this method. */ void remove(); }