Name: Iterator Intent: - sequentially access the element of a collection without revealing/exposing the collection structure (and interface) Structure: - define/use an Iterator interface (already provided, 3 methods) - hasNext - next - remove - iterator class is encapsulated - the collection should implement the Iterable interface - iterator object is returned by a method of the collection called iterator() Notes: - beware of changing the collection while iterating over its elements - the version in this directory is based on java Iterator interface