„Java“ iteratorius yra vienas dažniausiai naudojamų žymekliai Java kolekcijų sistemoje . Jis naudojamas kolekcijos elementams pereiti arba kartoti po vieną.
- Jis naudojamas elementams važiuoti tik į priekį.
- Saugiai pašalina elementus važiuojant naudojant Remove().
- Iteratorius yra universalus žymeklis, kuris taikomas visų tipų rinkiniams – sąrašo rinkiniui ir eilei.
Iteratoriaus deklaracija
viešosios sąsajos iteratorius
Čia E reiškia elementų, kurie turi būti kartojami, tipą.
c programa dvimačiai masyvai
Iteratoriaus objekto kūrimas
Iteratoriaus objektas sukuriamas kolekcijos objekte iškviečiant iterator() metodą. Čia mes naudosime Iteratorių, norėdami pereiti ir spausdinti kiekvieną elementą ArrayList .
JavaKolekcija
vardai = naujas ArrayList<>();
Iteratoriusitr = vardai.iteratorius();
import java.util.ArrayList; import java.util.Iterator; public class Geeks { public static void main(String[] args) { // Create an ArrayList and add some elements ArrayList<String> al = new ArrayList<>(); al.add('A'); al.add('B'); al.add('C'); // Obtain an iterator for the ArrayList Iterator<String> it = al.iterator(); // Iterate through the elements and print each one while (it.hasNext()) { // Get the next element String n = it.next(); System.out.println(n); } } }
Išvestis
A B C
Iteratoriaus hierarchija
Iteratorius yra dalis java.util paketą ir yra įdiegta visose kolekcijų klasėse per savo antrines sąsajas.
Iteratorius-žymeklisIteratoriaus sąsajos metodai
Iteratoriaus sąsaja apibrėžia tris toliau išvardytus metodus:
- hasNext (): Grąžina tiesa, jei iteracija turi daugiau elementų.
- kitas (): Grąžina kitą iteracijos elementą. Tai meta NoSuchElementException jei daugiau elemento nėra.
- pašalinti (): Pašalina paskutinį elementą, grąžintą next(). Šis metodas gali būti iškviestas tik vieną kartą per kvietimą į next().
Pastaba : Remove() metodas gali padaryti dvi išimtis, būtent taip:
Vidinis darbas
Šiame skyriuje pabandysime suprasti, kaip Java Iterator ir jo metodai veikia viduje. Paimkime šį LinkedList objektą, kad suprastume šią funkciją.
1 veiksmas: Dabar sąrašo objekte sukurkime Iteratoriaus objektą, kaip parodyta toliau:
centrinis vaizdas css
Iteratorius
miestaiIteratorius = miestai.iteratorius();
„CitiesIteartor“ iteratorius atrodys taip:
1 veiksmasČia Iteratoriaus žymeklis yra nukreiptas prieš pirmąjį sąrašo elementą.
2 veiksmas: Dabar paleisime šį kodo fragmentą.
miestaiIteratorius.hasNext();
miestaiIteratorius.next();
2 veiksmasKai paleidžiame aukščiau pateiktą kodo fragmentą, Iteratoriaus žymeklis nurodo pirmąjį sąrašo elementą, kaip parodyta aukščiau esančioje diagramoje.
3 veiksmas: Dabar paleisime šį kodo fragmentą.
miestaiIteratorius.hasNext();
miestaiIteratorius.next();nėra įvesties signalo
3 veiksmas
Kai paleidžiame aukščiau pateiktą kodo fragmentą, Iteratoriaus žymeklis nukreipia į antrąjį sąrašo elementą, kaip parodyta aukščiau esančioje diagramoje.
4 veiksmas: Atlikite šį procesą, kad pasiektumėte Iteratoriaus žymeklį iki galo sąrašo elemento.
4 veiksmas5 veiksmas: Nuskaitęs paskutinį elementą, jei paleidžiame toliau pateiktą kodo fragmentą, jis grąžina klaidingą reikšmę.
miestaiIteratorius.hasNext();

Kaip Iteratoriaus žymeklis nurodo į po paskutinio sąrašo elemento hasNext () metodas grąžina klaidingą reikšmę.
Pastaba: „Java Iterator“ palaiko tik į priekį nukreiptą iteraciją, todėl yra žinomas kaip vienakryptis žymeklis. Priešingai, ListIterator yra dvikryptis, leidžiantis judėti abiem kryptimis.
„Java Iterator“: kryptis pirmynPavyzdys: Čia mes naudosime Iteratorių, kad pereitume ir pašalintume nelyginius elementus iš „ArrayList“.
Javaimport java.util.ArrayList; import java.util.Iterator; public class Geeks { public static void main(String[] args) { // Creating an ArrayList of Integer type ArrayList<Integer> al = new ArrayList<>(); // Adding elements to the ArrayList for (int i = 0; i < 10; i++) { al.add(i); } // Printing the original list System.out.println('Original List: ' + al); // Creating an Iterator for the ArrayList Iterator<Integer> itr = al.iterator(); // Iterating through the list and removing odd elements while (itr.hasNext()) { // Getting the next element int i = itr.next(); System.out.print(i + ' '); // Removing odd elements if (i % 2 != 0) { itr.remove(); } } System.out.println(); // Printing the modified list after removal of odd elements System.out.println('Modified List: ' + al); } }
Išvestis
Original List: [0 1 2 3 4 5 6 7 8 9] 0 1 2 3 4 5 6 7 8 9 Modified List: [0 2 4 6 8]
Paaiškinimas: Aukščiau pateiktame pavyzdyje sukuriame sveikųjų skaičių ArrayList, tada jį kartojame naudodami Iteratorių ir pašaliname visus nelyginius skaičius. Jis išspausdina sąrašą prieš ir po nelyginių elementų pašalinimo ir spausdina pakeistą sąrašą tik su lyginiais skaičiais.