Java Iterator

In deze tutorial leren we aan de hand van een voorbeeld over de Java Iterator-interface.

De Iteratorinterface 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 Iteratorinterface biedt 4 methoden die kunnen worden gebruikt om verschillende bewerkingen uit te voeren op elementen van verzamelingen.

  • hasNext()- geeft terug trueals er een element in de verzameling bestaat
  • next() - geeft het volgende element van de verzameling terug
  • remove() - verwijdert het laatste element dat door de next()
  • 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 Iteratorinterface 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.

Interessante artikelen...