Java: iteraattorit

Collection-rajapinnan toteuttavat luokat (mm. linkitetty lista) mahdollistavat listan läpikäynnin iteraattorin avulla. List-tyyppiset mahdollistavat myös ListIterator-rajapinnan käytön, jolla voi selata listaa eteen ja taakse päin.

Lista iteraattorin käyttöönotto vaatii paketin java.util.ListIterator tuomista.

// luodaan lista iteraattori henkiloListasta
ListIterator<Henkilo> iter = henkiloLista.listIterator();
		
System.out.println("\nSilmukoidaan listan alusta loppuun:");
	while(iter.hasNext()) {
		System.out.println((Henkilo) iter.next());
	}
		
System.out.println("\nSilmukoidaan listan lopusta alkuun:");
	while(iter.hasPrevious()) {
		System.out.println((Henkilo) iter.previous());
	}

Iteraattori tarjoaa kahden edellä esitetyn metodin lisäksi metodin remove() jonka avulla voi poistaa olion listalta.

Oheisessa esimerkkikoodissa luodaan olioita Henkilot jotka sijoitetaan linkitettyyn listaan jota taas käydään läpi molempiin suuntiin iteraattorin avulla. Koodi on tehty Eclipse projektina. IteratorEsimerkki.zip