Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Den vanlige måten å gå gjennom en liste med elementer er med kode som den under til venstre. Dette kalles en for-each-løkke, fordi den går gjennom hvert element i lista. Dette er egentlig spesial-syntaks for iterator-basert iterasjon, det er bare det at du aldri ser iteratoren. Funksjonelt sett er for-each-løkka til venstre ekvivalent med den Iterator-baserte løkka under til høyre. Det er egentlig en smaksak hvilken en bruker, men den venstre varianten er å foretrekke fordi den både er enklere å skrive og lese.

Iterasjon med for-each-løkkeIterasjon med eksplisitt Iterator
Code Block
// gå gjennom stringListe
for (String s : stringListe) {
	// gjør noe med s her
	...
}

 

 

Code Block
// få en iterator fra stringListe 
Iterator<String> stringIterator = stringListe.iterator();
// bruk hasNext og next for å gå gjennom lista
while (stringIterator.hasNext()) {
	String s : stringIterator.next(); 
	// gjør noe med s her
	...
}

 Hvis en tenker over det, så er det nettopp iterator()-metoden, som er nøkkelen til at for-each-løkka virker. Det holder at stringListe i kode-eksemplet har en slik metode, for at

 

En Iterator for en Library-klasse kan se slik ut:

...