Iterator is one more GoF pattern to avoid, or at least to use it only when none of alternatives are available.
Alternatives are:
for-each loop. This construction is present in most mainstream languages and may be used to avoid iterators in majority of cases.
selectors à la LINQ or jQuery. They should be used when for-each is not appropriate because not all of objects from container should be processed. Unlike iterators, selectors allow to manifest in one place what kind objects is to be processed.