In deze tutorial leren we aan de hand van een voorbeeld over de Java Iterator-interface.
De Iterator
interface van het Java-verzamelingsraamwerk stelt ons in staat om toegang te krijgen tot elementen van een verzameling. Het heeft een subinterface ListIterator
.
Alle Java-verzamelingen bevatten een iterator()
methode. Deze methode retourneert een instantie van een iterator die wordt gebruikt om elementen van verzamelingen te herhalen.
Methoden van Iterator
De Iterator
interface biedt 4 methoden die kunnen worden gebruikt om verschillende bewerkingen uit te voeren op elementen van verzamelingen.
hasNext()
- geeft terugtrue
als er een element in de verzameling bestaatnext()
- geeft het volgende element van de verzameling terugremove()
- verwijdert het laatste element dat door denext()
forEachRemaining()
- voert de gespecificeerde actie uit voor elk overgebleven element van de collectie
Voorbeeld: implementatie van Iterator
In het onderstaande voorbeeld hebben we de hasNext()
, next(),
remove()
en forEachRemining()
methoden van de Iterator
interface geïmplementeerd in een arraylijst.
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 + ", ")); ) ) )
Uitvoer
ArrayList: (1, 3, 2) Verzonken element: 1 verwijderd element: 1 Bijgewerkte ArrayList: 3, 2,
Let in het bovenstaande voorbeeld op de verklaring:
iterate.forEachRemaining((value) -> System.put.print(value + ", "));
Hier hebben we de lambda-uitdrukking doorgegeven als een argument van de forEachRemaining()
methode.
Nu zal de methode alle resterende elementen van de arraylijst afdrukken.