I denne vejledning lærer vi om Java Iterator-interface ved hjælp af et eksempel.
Den Iterator
græ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 Iterator
grænseflade indeholder 4 metoder, der kan anvendes til at udføre forskellige operationer på elementer af samlinger.
hasNext()
- returnerer,true
hvis der findes et element i samlingennext()
- returnerer det næste element i samlingenremove()
- fjerner det sidste element, der returneres afnext()
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 Iterator
græ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.