Iterators are very useful to traverse collections.
Implemented methods are:
First() - initialize iterator and return first element (zero based) if any
Next() - Get next element in the collection, if any
SetItem() - Insert/update element in the collection
isDone() - Return true if there is no next element to retrieve
Click here to read the full article.