Java Iterator

I denne vejledning lærer vi om Java Iterator-interface ved hjælp af et eksempel.

Den Iteratorgrænsefladen af Java kollektioner rammer giver os mulighed for at få adgang til elementer i en samling. Det har en undergrænseflade ListIterator.

Alle Java-samlinger inkluderer en iterator()metode. Denne metode returnerer en forekomst af iterator, der bruges til at gentage over elementer i samlinger.

Metoder til Iterator

Den Iteratorgrænseflade indeholder 4 metoder, der kan anvendes til at udføre forskellige operationer på elementer af samlinger.

  • hasNext()- returnerer, truehvis der findes et element i samlingen
  • next() - returnerer det næste element i samlingen
  • remove() - fjerner det sidste element, der returneres af next()
  • forEachRemaining() - udfører den angivne handling for hvert resterende element i samlingen

Eksempel: Implementering af Iterator

I eksemplet nedenfor, har vi implementeret de hasNext(), next(), remove()og forEachRemining()metoder for den Iteratorgrænseflade i et array listen.

 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 + ", ")); ) ) ) 

Produktion

 ArrayList: (1, 3, 2) Accessed Element: 1 Removed Element: 1 Opdateret ArrayList: 3, 2, 

I ovenstående eksempel bemærk udsagnet:

 iterate.forEachRemaining((value) -> System.put.print(value + ", ")); 

Her har vi bestået lambda-udtrykket som et argument for forEachRemaining()metoden.

Nu udskriver metoden alle de resterende elementer på matrixlisten.

Interessante artikler...