Laste ned presentasjonen
Presentasjon lastes. Vennligst vent
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
Liknende presentasjoner
© 2024 SlidePlayer.no Inc.
All rights reserved.