- Iterator
-
public interface Iterator<E> { boolean hasNext(); E next(); } public interface Collection<E> { Iterator<E> iterator(); } class List<E> implements Collection<E> { private class Itr<E> implements Iterator<E> { @Override public boolean hasNext(){} @Override public E next(){} } @Override public Iterator iterator(){ return new Itr(); } }