Tässä opetusohjelmassa opitaan Java Iterator -käyttöliittymästä esimerkin avulla.
Iterator
Rajapinta Java kokoelmien puitteet pystymme käyttämään elementtejä kokoelma. Siinä on alapinta ListIterator
.
Kaikissa Java-kokoelmissa on iterator()
menetelmä. Tämä menetelmä palauttaa iteraattorin ilmentymän, jota käytetään iteroimaan kokoelmien elementtien yli.
Iteraattorin menetelmät
Iterator
Käyttöliittymä tarjoaa 4 menetelmiä, joita voidaan käyttää suorittamaan erilaisia toimintoja elementtejä kokoelmista.
hasNext()
- palauttaa,true
jos kokoelmassa on elementtinext()
- palauttaa kokoelman seuraavan elementinremove()
- poistaa viimeisen elementin palauttaman elementinnext()
forEachRemaining()
- suorittaa määritetyn toiminnon kokoelman jokaiselle jäljelle jääneelle elementille
Esimerkki: Iteratorin toteutus
Alla olevassa esimerkissä, olemme toteuttaneet hasNext()
, next(),
remove()
ja forEachRemining()
menetelmät Iterator
rajapinnan array luetteloon.
import java.util.ArrayList; import java.util.Iterator; class Main ( public static void main(String() args) ( // Creating an ArrayList ArrayList numbers = new ArrayList(); numbers.add(1); numbers.add(3); numbers.add(2); System.out.println("ArrayList: " + numbers); // Creating an instance of Iterator Iterator iterate = numbers.iterator(); // Using the next() method int number = iterate.next(); System.out.println("Accessed Element: " + number); // Using the remove() method iterate.remove(); System.out.println("Removed Element: " + number); System.out.print("Updated ArrayList: "); // Using the hasNext() method while(iterate.hasNext()) ( // Using the forEachRemaining() method iterate.forEachRemaining((value) -> System.out.print(value + ", ")); ) ) )
Tuotos
ArrayList: (1, 3, 2) Acessed Element: 1 Poistettu Element: 1 Päivitetty ArrayList: 3, 2,
Huomaa yllä olevassa esimerkissä lause:
iterate.forEachRemaining((value) -> System.put.print(value + ", "));
Tässä olemme ohittaneet lambda-lausekkeen forEachRemaining()
menetelmän argumenttina .
Nyt menetelmä tulostaa kaikki jäljellä olevat taulukkoelementit.