Hallo,
Zitat von
mkinzler:
Sie bewirkt zwar das gleiche ist aber nicht so schön
nicht nur das. Mit Iteratoren kann man (wenn man will) lustige Sachen anstellen. Sie geben zwar immer das nächste Element zurück, aber welches das ist, kann der Programmierer des Iterators frei entscheiden. Du kannst z. B. einen Iterator schreiben, der in einer Liste nur die Elemente mit geradem Index zurückliefert.
Ein weiterer Vorteil ist, dass viele Klassen in Java das Interface Iterable implementieren. Du kannst also alle diese Klassen iterieren, ohne wissen zu müssen, wie Du an ein einzelnes Element kommst oder wie Du die Anzahl der Elemente ermittelst.
Der Itarator in Java hat übrigens noch eine feine Methode:
Remove. Damit kann man das aktuelle Element aus der Liste entfernen, ohne sich um die Zählvariable kümmern zu müssen. Sowas ist in Delphi nur zu machen, wenn die Schleife auf Null herunterzählt.
//Edit: Wo ich gerade Deinen Beitrag sehe. So iteriert man in Java natürlich nicht. Man macht das so:
Code:
private void ausgabe(ArrayList kunden)
{
for (Kunde k : kunden)
{
System.out.println(k.getName() + ", " + k.getVorname());
for (Konto ko : k.getKonten())
System.out.println(ko.getBezeichnung() + ": " + ko.getSaldo());
System.out.println("");
}
}
Das ist schon einfacher zu lesen.
Gruß
xaromz