Java Reference
In-Depth Information
4.17 Das Verhaltensmuster Iterator
4.17.1
Name/Alternative Namen
Iterator, Cursor (engl. cursor).
4.17.2
Problem
Mit einem Iterator soll nacheinander auf die einzelnen Objekte einer aus Objekten zu-
sammengesetzten Datenstruktur in einer bestimmten Durchlaufstrategie zugegriffen
werden, ohne dass der Aufbau der Datenstruktur für die Anwendung bekannt sein
muss.
Das Iterator-Muster soll es erlauben, eine Datenstruktur in ver-
schiedenen Durchlaufstrategien zu durchlaufen, ohne dass der
Client den Aufbau der Datenstruktur kennt.
4.17.3
Lösung
Ein Iterator ist ein Objekt, mit dem von Objekt zu Objekt über alle Objekte einer Daten-
struktur "iteriert" 65 werden kann. Ein Iterator zeigt nacheinander auf die einzelnen Ob-
jekte bzw. Elemente einer Datenstruktur. Der Name Iterator wird sowohl für ein iterie-
rendes Objekt als auch für das entsprechende objektbasierte Verhaltensmuster ver-
wendet.
Ein Iterator als Objekt trennt den Mechanismus des Traversie-
rens 66 von der zu durchquerenden Datenstruktur. Diese Trennung
ist der grundlegende Gedanke des Iterator-Musters. Denn da-
durch braucht eine Anwendung den Aufbau einer Datenstruktur
selbst nicht zu kennen.
Ein Iterator wandert über alle Elemente einer Datenstruktur nach einer bestimmten
Durchlaufstrategie (Traversierungsart). Dabei besucht er jedes Element nur ein ein-
ziges Mal. Diese Beschreibung suggeriert, dass ein Iterator sequenziell auf die Ele-
mente einer Datenstruktur zugreift. Ein sequenzieller Zugriff ist aber nicht zwingend
vorgegeben - ein Iterator könnte auch wahlfrei auf die Elemente zugreifen.
65 Iterieren bedeutet: es wird schrittweise auf jedes Objekt zugegriffen, das von der Datenstruktur refe-
renziert wird.
66 Mit Traversieren bezeichnet man das Durchlaufen einer Datenstruktur in einer bestimmten Reihenfol-
ge.
Search WWH ::




Custom Search