Ich habe eine Klasse Polygon
, auf der ich zwei Iteratoren implementieren möchte: einen durch alle Elemente (Ecken und Kanten in alternierender Reihenfolge) nur einmal durchlaufen, und ein anderes durch sie ad infinitum (zyklisch) durchlaufen.Java für jeden, aber mehrere Iterator-Typen?
Von einem für jeden Verwendungszweck, meine Annahme ist, dass ich nur in der Lage sein, eine der oben genannten der Standard-Iterator, der mit for-each, über die Implementierung von Iterable.iterator()
verwendet werden kann. Ist das richtig? Oder gibt es einen Weg, den ich für beide nutzen könnte?
Nice one GHad, ich bin froh, dass ich gefragt habe. Dies hält die Benutzerfreundlichkeit von for-each aufrecht und verhindert nicht die Kapselung, um das Problem zu umgehen. –
+1 Dies ist im Wesentlichen das gleiche wie was java.util.Map tut - Sie können entrySet(), keySet() oder values () aufrufen, die alle verschiedene Iterables zurückgeben. – Avi