More on the Iterator pattern
Iterators provide a common interface for
accessing aggregates
Can use the same interface for  lists
implemented as arrays and lists implements
as linked lists
Easier to change data structure
implementations
See java.util in JDK 1.2 for good examples