16.11.2013 Aufrufe

Programmieren in Java - HostFiXX.de

Programmieren in Java - HostFiXX.de

Programmieren in Java - HostFiXX.de

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.

<strong>Programmieren</strong> <strong>in</strong> <strong>Java</strong><br />

}<br />

}<br />

}<br />

System.out.pr<strong>in</strong>tln(s.toUpperCase());<br />

Mit <strong>Java</strong> 1.5 gibt es endlich die Möglichkeit, direkt zu bestimmen: "Mache für alle<br />

Elemente im nachfolgen<strong>de</strong>n Sammlungsobjekt etwas ...". Vorgesehen ist dafür e<strong>in</strong>e<br />

Kontrollstrukturanweisung 317 von folgen<strong>de</strong>r Form:<br />

for (Type i<strong>de</strong>ntifier expr) { body }<br />

Dieser Konstrukt wird so gelesen: "Für je<strong>de</strong>s i<strong>de</strong>ntifier <strong>de</strong>s Typs Type <strong>in</strong> expr<br />

führe aus". Die Kontrollstrukturanweisung gilt für alle Objekte vom Typ <strong>de</strong>r<br />

Schnittstelle Iterable, wozu auf je<strong>de</strong>m Fall alle Datenstrukturen (e<strong>in</strong>schl. Array)<br />

zählen.<br />

Bsp. 318 :<br />

import java.util.List;<br />

import java.util.ArrayList;<br />

class NeueIteration<br />

{<br />

public static void ma<strong>in</strong>(Str<strong>in</strong>g [] args)<br />

{<br />

Str<strong>in</strong>g [] ar =<br />

{ "Brecht", "Schiller", "Goethe", "Shakespeare", "Thomas Mann" };<br />

List xs = new ArrayList();<br />

for (Str<strong>in</strong>g s:ar) xs.add(s);<br />

for (Str<strong>in</strong>g s:xs) System.out.pr<strong>in</strong>tln(s.toUpperCase());<br />

}<br />

}<br />

Def<strong>in</strong>ition <strong>de</strong>r Schnittstelle Iterable: public <strong>in</strong>terface Iterable<br />

{ SimpleIterator iterator();}<br />

Iterable schreibt die Existenz e<strong>in</strong>er Funktion iterator() vor, die e<strong>in</strong>en<br />

java.lang.SimpleIterator liefert. SimpleIterator ist e<strong>in</strong> Iterator 319 ohne<br />

remove():<br />

public <strong>in</strong>terface SimpleIterator<br />

{<br />

boolean hasNext();<br />

T next();<br />

}<br />

Der konkrete SimpleIterator muß nur die Metho<strong>de</strong>n hasNext() und next()<br />

implementieren, um das nächste Element <strong>in</strong> <strong>de</strong>r Aufzählung zu beschaffen und das<br />

En<strong>de</strong> anzuzeigen.<br />

java.util.Iterator() implementiert seit <strong>Java</strong> 1.5 <strong>de</strong>n SimpleIterator:<br />

public <strong>in</strong>terface Iterator extends SimpleIterator<br />

{<br />

boolean hasNext();<br />

E next();<br />

void remove();<br />

}<br />

317 vgl. 2.4.7<br />

318 pr66100<br />

319 vgl. 6.2.1<br />

453

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!