l design pattern Iterator consente la navigazione di un oggetto aggregatore (ad esempio una lista) senza conoscerne i dettagli.
Gli oggetti aggregatori dovrebbero fornire un'interfaccia per iterare sui propri elementi. L'iterfaccia di navigazione può prevedere una modalità di accesso
ad un sottoinsieme (filtrato) di elementi dell'oggetto aggregatore o anche un modo per accessi multipli e simultanei.

Il "Client", fruitore del servizio, invoca il metodo di creazione della classe implementazione di Iterator (*) e ne consuma la navigazione.
(*) Va ricordato che Sun ha introdotto all'interno della Java Collection Frameword l'interface Iterator dalla versione 1.2, a sottolineare l'importanza del design pattern