...
To løkker med iterator er vist under:
Generell iterator-løkke. |
Iterator støtter generics, og da vil next returnere et element med en mer spesifikk type enn Object, f.eks. String som her. |
Python sin tilsvarende iterator-klasse har kun én metode og bruker unntak når en når slutten på rekka av elementer:
- next(): returnerer neste elementer, tar ett steg forover og utløser StopIteration-unntaket når slutten er nådd.
Generell for-løkke
Hvis en datastruktur ikke har en passende iterator, men f.eks. støtter oppslag med en posisjon eller indeks, så kan en falle tilbake på den generelle for-løkka. Dette brukes f.eks. for å løpe gjennom alle tegnene i en String:
...
, slik som vist under til venstre. Du må også bruke den generelle varianten, hvis du skal gå gjennom elementene i en annen rekkefølge enn standard-iteratoren for en datastruktur, f.eks. baklengs eller annenhvert element. Under i midten og til høyre ser du løkker for disse to tilfellene for en Java-liste.
|
...
Løkke for å gå gjennom tegnene i en String |
Løkke for å gå gjennom elementene i en List baklengs. |
Løkke for å gå gjennom annenhvert element i en List |
Python sin tilsvarende iterator-klasse har kun én metode og bruker unntak når en når slutten på rekka av elementer:
...
. |
Bruk av for-each på egne datastrukturer
...