Iterátor v Jave je jedným z najčastejšie používaných kurzory v rámci Java Collections Framework . Používa sa na prechádzanie alebo opakovanie prvkov kolekcie jeden po druhom.
- Používa sa na prechádzanie prvkov iba v smere dopredu.
- Bezpečne odstráni prvky počas prechodu pomocou remove().
- Iterátor je univerzálny kurzor, ktorý sa vzťahuje na všetky typy kolekcií – zoznam zoznamov a front.
Vyhlásenie Iterátora
Iterator verejného rozhrania
Tu E predstavuje typ prvkov, ktoré sa majú iterovať.
Vytváranie objektov iterátora
Objekt Iterator sa vytvorí volaním metódy iterator() na objekte kolekcie. Tu použijeme Iterátor na prechádzanie a tlač každého prvku v ArrayList .
JavaZbierka
mená = nový ArrayList<>();
Iterátoritr = names.iterator(); Cassidy Hutchinson vzdelanie
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); } } }
Výstup
A B C
Hierarchia Iterátora
Iterátor je súčasťou balík java.util a je implementovaný všetkými triedami kolekcií prostredníctvom ich podrozhraní.
Iterátor-kurzorMetódy rozhrania iterátora
Rozhranie iterátora definuje tri metódy uvedené nižšie:
- hasNext(): Vráti hodnotu true, ak má iterácia viac prvkov.
- ďalšie(): Vráti ďalší prvok v iterácii. To hádže NoSuchElementException ak už nie je prítomný žiadny prvok.
- odstrániť(): Odstráni posledný prvok vrátený funkciou next(). Túto metódu možno zavolať iba raz za volanie funkcie next().
Poznámka Metóda remove() môže vyvolať dve výnimky, konkrétne takto:
Interná práca
V tejto časti sa pokúsime pochopiť, ako interne fungujú Java Iterator a jeho metódy. Zoberme si nasledujúci objekt LinkedList, aby sme pochopili túto funkciu.
pridať do poľa java
Krok 1: Teraz vytvorte objekt Iterator na objekte List, ako je uvedené nižšie:
Iterátor
citiesIterator = cities.iterator();
Iterátor „citiesIteartor“ bude vyzerať takto:
Krok-1Kurzor iterátora tu ukazuje pred prvým prvkom zoznamu.
Krok 2: Teraz spustíme nasledujúci útržok kódu.
sanjay dutt a
citiesIterator.hasNext();
citiesIterator.next();
Krok-2Keď spustíme vyššie uvedený útržok kódu, kurzor iterátora ukazuje na prvý prvok v zozname, ako je znázornené na obrázku vyššie.
Krok 3: Teraz spustíme nasledujúci útržok kódu.
citiesIterator.hasNext();
citiesIterator.next();java mapa
Krok-3
Keď spustíme vyššie uvedený útržok kódu, kurzor iterátora ukazuje na druhý prvok v zozname, ako je znázornené na obrázku vyššie.
Krok 4: Vykonajte tento proces, aby ste dosiahli kurzor iterátora na koncový prvok zoznamu.
Krok-4Krok 5: Po prečítaní posledného prvku, ak spustíme nižšie uvedený útržok kódu, vráti falošnú hodnotu.
citiesIterator.hasNext();

Keďže kurzor iterátora ukazuje na posledný prvok zoznamu hasNext() metóda vracia falošnú hodnotu.
Poznámka: Java Iterator podporuje iba iteráciu smerom dopredu, takže je známy ako jednosmerný kurzor. Naproti tomu ListIterator je obojsmerný a umožňuje prechod v oboch smeroch.
Java Iterator: Smer vpredPríklad: Tu použijeme Iterátor na prechod a odstránenie nepárnych prvkov z ArrayList.
webové stránky ako coomeetJava
import 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); } }
Výstup
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]
Vysvetlenie: Vo vyššie uvedenom príklade vytvoríme ArrayList celých čísel, potom ho iterujeme pomocou Iterátora a odstránime všetky nepárne čísla. Vytlačí zoznam pred a po odstránení nepárnych prvkov a vytlačí upravený zoznam iba s párnymi číslami.