Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

Iterator i Java boolean hasNext() E next() void remove()

Liknende presentasjoner


Presentasjon om: "Iterator i Java boolean hasNext() E next() void remove()"— Utskrift av presentasjonen:

1 Iterator i Java boolean hasNext() E next() void remove()

2 Hva er en iterator? Et slags peker-objekt med hovedsaklig to funksjoner: Få tak i et objekt fra en datastruktur / samling / container Peke på neste element i samlingen

3 Hva er hensikten med en iterator? Hensikten med en iterator er å la en bruker av en samling få tilgang til alle objektene i en samling i en viss rekkefølge uten å vite noe hvordan objektene er lagret i samlingen. Rekkefølgen bestemmer den som skriver iteratoren. I noen tilfeller er rekkefølgen likegyldig, som f.eks. i HashMap.

4 Eksempler En iterator for en array vil vanligvis initialiseres til index 0 og økes med én for hver gang man henter ut et objekt helt til index == lengden-1. En iterator for en enkel lenket liste vil vanligvis initialiseres med en peker til det første objektet i lista. For hver gang et objekt hentes ut vil pekeren settes til å peke på neste element i lista helt til neste == null.

5 Grafisk eksempel Lenket liste Iterator

6 java.util.Iterable Grensesnitt som inneholder metoden Iterator iterator(); Datastrukturer som skal være itererbare må implementere denne

7 java.util.Iterator Grensesnitt som inneholder metodene boolean hasNext() E next void remove() En iterator må implementere dette grensesnittet Det vanligste er å la iteratoren være en indre klasse i beholderen / datastrukturen som implementerer dette grensesnittet

8 Hvordan brukes en iterator? Beholderen / datastrukturen må ha en metode som returnerer et iterator-objekt Det vanligste er å implementere grensesnittet java.lang.Iterable som inneholder metoden iterator() Metodene i iterator-objektet kan da brukes eksplisitt eller man kan bruke ”den nye” for- løkka.

9 Eksempel på bruk av iterator ABCD Lenket liste Iterator Iterator it = beholder.iterator(); while (it.hasNext()) System.out.println(it.next()); for (Person p : beholder) System.out.println(p); A B C D


Laste ned ppt "Iterator i Java boolean hasNext() E next() void remove()"

Liknende presentasjoner


Annonser fra Google