V tomto výučbe sa pomocou príkladu dozvieme o rozhraní Java Iterator.
Iterator
Rozhranie zbierok rámca Java nám umožňuje prístup k prvkom kolekcie. Má podradie ListIterator
.
Všetky zbierky Java obsahujú iterator()
metódu. Táto metóda vracia inštanciu iterátora použitého na iteráciu prvkov zbierok.
Metódy iterátora
Iterator
Rozhranie poskytuje 4 metódy, ktoré môžu byť použité na vykonávanie rôznych operácií na prvkoch zbierok.
hasNext()
- vráti,true
ak v zbierke existuje prvoknext()
- vráti nasledujúci prvok zbierkyremove()
- odstráni posledný prvok vrátenýnext()
forEachRemaining()
- vykoná zadanú akciu pre každý zostávajúci prvok zbierky
Príklad: Implementácia Iterátora
V príklade nižšie sme implementovali rozhrania hasNext()
, next(),
remove()
a forEachRemining()
metódy Iterator
rozhrania do zoznamu polí.
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 + ", ")); ) ) )
Výkon
ArrayList: (1, 3, 2) Sprístupnený prvok: 1 Odstránený prvok: 1 Aktualizovaný ArrayList: 3, 2,
Vo vyššie uvedenom príklade si všimnite vyhlásenie:
iterate.forEachRemaining((value) -> System.put.print(value + ", "));
Tu sme odovzdali výraz lambda ako argument forEachRemaining()
metódy.
Teraz metóda vytlačí všetky zostávajúce prvky zoznamu polí.