# Was sind Iteratoren ?



## Falke (13. Feb 2004)

Hallo, 
ich lese ein Java Buch durch und bin gerade bei algorithmen und Datenstrukturen. Da kommen auch Iteratoren drin vor, bloß ich verstehe kein Stück was sie sind und was sie bewirken, und wie ?! Ich bin wirklich ratlos !! Kann mir jemand ein wenig darüber erzählen oder mir ein Internettutorial empfehlen ? 

Schonmal Danke im Voraus


----------



## bygones (13. Feb 2004)

Die API dazu:



> public interface Iterator
> An iterator over a collection. Iterator takes the place of Enumeration in the Java collections framework. Iterators differ from enumerations in two ways:
> 
> - Iterators allow the caller to remove elements from the underlying collection during the iteration with well-defined semantics.
> - Method names have been improved.



ein kleiner Text:



> Die Klassen java.util.Iterator und java.util.List bieten eigentlich nicht viel mehr als den Zugriff auf eine Folge von Objekten. Allerdings gibt es einen grundlegenden Unterschied.
> 
> Der Unterschied besteht darin, dass in einigen Fällen die Wahl eher auf iterator als die besser geeignete Methode fällt: Iteratoren können zurückgegeben und verändert werden, bevor die gespeicherten Daten vollständig verfügbar sind. Listen bzw. Arrays hingegen müssen erst vollständig bestückt sein, bevor man ihren Rückgabewert zuverlässig erhält.



Ich denke der wichtigste Satz ist "eigentlich nicht viel mehr als den Zugriff auf eine Folge von Objekten". D.h. wenn du z.B. eine Liste von Objekte hast du auf diese sequenziell zugreifen willst nutzt man einen Iterator. Der erlaubt einen nach und nach die Element der Liste zu verarbeiten....

Mehr dazu hier: http://www.galileocomputing.de/openbook/javainsel2/java_110009.htm#Rxxjava_110009358Iteratoren


----------



## Felydae (2. Nov 2006)

Wenn wir schon bei dem Thema "Iterationen" sind.

Ich habe hier eine Aufgabe bekommen, die ich programmieren soll und sie lautet folgendermaßen:

"Schreiben Sie ine Java-Funktion, die für übergebene Startwerte die Iteration implementiert. Testen Sie die Funtion mit mindestens zwei verschiedenen Paaren."


Wenns geht, bitte eine einfach, für mich nachvollziehbare, Variante posten - bin mehr oder weniger Anfänger - Danke !


----------



## Wildcard (2. Nov 2006)

Willst du Pommes dazu?  :autsch: 

Warum gräbst du eigentlich eine 2,5 Jahre alte Leiche aus?


----------



## Felydae (2. Nov 2006)

Helfen und keine Witze machen


----------



## Wildcard (2. Nov 2006)

Wir machen aber keine Hausaufgaben  :bae: 
Selbst versuchen und bei Unklarheiten nachfragen.


----------



## Felydae (2. Nov 2006)

Ich habs ja probiert aber ich komm auf keinen grünen Zweig weil ich noch nicht mal weiß wie ich richtig eine Iteration schreibe  Aus Faulheit habe ich hier sicher nichts gepostet...


----------



## Wildcard (2. Nov 2006)

Bei diesem Thread ging es aber um Iteratoren, während deine Aufgabenstellung von Iterationen spricht. Eine Iteration ist ein Schleifendurchlauf.
Mit 'Paaren' meinst du wohl 'laufe durch eine Schleife von x nach y'?


----------



## SlaterB (2. Nov 2006)

poste mal deinen bisherigen Code, dann kann man über Fehler sprechen,
aber ohne geht nix,

dazu solltest du auch genau sagen, was denn passieren soll,
das ist bei so einfachen Aufgaben immer Teil der Aufgabe 
und aus unvollständigen aller Erfahrung nach nicht ersichtbar,

Beispiel:
Eingabe
java Test a b c


----------



## Felydae (2. Nov 2006)

Sorry für den falschen Thread, da habe ich schlicht und einfach zu schnell drüber geschaut und was dazu geschrieben...

Das mit dem Schleifenkonstrukt hilft mir schonmal, danke ! 
Werde jetzt nochmal selber probieren ...


----------

