15.09.2014 Aufrufe

Schrödinger programmiert Java - Das etwas andere Fachbuch

Schrödinger programmiert Java - Das etwas andere Fachbuch

Schrödinger programmiert Java - Das etwas andere Fachbuch

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Der Iterator<br />

(hört sich krass an, oder?)<br />

Wie nр ∋-<br />

Film.<br />

Eine weitere Möglichkeit, um über die<br />

einzelnen Elemente in einer Collection zu<br />

iterieren, bietet das Iterator-Interface.<br />

<strong>Das</strong> funktioniert wie im folgenden Codeschnipsel:<br />

Iterator iterator = tester.getSchuhKollektion().iterator();*1<br />

while (iterator.hasNext()) {*2<br />

System.out.println(iterator.next()*3.toString());<br />

}<br />

[Notiz]<br />

Der Bytecode, den der Compiler<br />

aus der foreach-<br />

Schleife erstellt, t, ist identisch<br />

mit dem Bytecode, der für<br />

die Iterator-Schreibweise<br />

erstellt wird.<br />

*1 Zunächst musst du dir den<br />

Iterator von der Collection holen,<br />

das geschieht über die<br />

iterator()-Methode.<br />

*2 <strong>Das</strong> Iterator-Interface<br />

definiert insgesamt drei Methoden:<br />

hasNext() prüft, ob es noch<br />

ein weiteres Schuhpaar (ausgehend<br />

von der aktuellen Position) in der<br />

Collection gibt, …<br />

[Notiz]<br />

Da das List-Interface auch eine Methode<br />

hat, mit der man gezielt auf ein Element<br />

der Liste zugreifen kann, kannst du dort<br />

auch die normale for-Schleife statt der<br />

foreach-Schleife oder Iteratoren verwenden.<br />

*3 … next() liefert dann<br />

das nächste Schuhpaar (und<br />

rückt intern eine Position<br />

weiter). Mit remove()<br />

kannst du außerdem Elemente<br />

löschen (das lassen wir aber<br />

deiner Freundin zuliebe<br />

erstmal bleiben).<br />

322<br />

Kapitel ACHT

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!