Im Beispiel wird zunächst ein TreeSet mit 20 String-Elementen
initialisiert. Hier könnte problemlos auch jede andere Sammlung
verwendet werden, da das zentrale Wurzel-Interface Collection
vom Interface java.lang.Iterable abgeleitet
ist.
In der Folge wird die Sammlung zweimal durchlaufen, zur
Demonstration der Techniken einmal in einer for- und einmal in einer
while-Schleife. Ein Iterator-Objekt wird mittels der Methode iterator() erzeugt. Dessen Methode hasNext() liefert true, solange der Iterator noch
nicht das Ende der Collection erreicht hat. Mit next()
greift man auf das jeweils nächste Element zu.
Im ersten
Schleifendurchlauf wird darüber hinaus gezeigt, dass das Entfernen
eines Elementes beim Iterieren über eine Collection nur mit der Methode
Iterator.remove(), nicht mit Collection.remove() erfolgen
darf. Hierbei entfernt Iterator.remove() das jeweils letzte mit next()
ermittelte Element, das jedoch noch ausgegeben wird, da es zwar aus der
Sammlung, nicht aber aus dem aktuellen Iterator entfernt wurde.