W tym samouczku nauczymy się interfejsu Java Iterator na przykładzie.
Iterator
Interfejs zbiorach ramach Java pozwala na dostęp z elementów kolekcji. Ma podinterfejs ListIterator
.
Wszystkie kolekcje Java zawierają iterator()
metodę. Ta metoda zwraca wystąpienie iteratora używanego do iteracji po elementach kolekcji.
Metody iteratora
Iterator
Interfejs zapewnia 4 metod, które mogą być wykorzystywane do wykonywania różnych operacji na elementach zbiorów.
hasNext()
- zwraca,true
jeśli w kolekcji istnieje elementnext()
- zwraca następny element kolekcjiremove()
- usuwa ostatni element zwrócony przeznext()
forEachRemaining()
- wykonuje określoną akcję dla każdego pozostałego elementu kolekcji
Przykład: implementacja Iteratora
W poniższym przykładzie, wdrożyliśmy hasNext()
, next(),
remove()
oraz forEachRemining()
metod Iterator
interfejsu w liście tablicy.
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 + ", ")); ) ) )
Wynik
ArrayList: (1, 3, 2) Uzyskany element: 1 Usunięty element: 1 Zaktualizowany ArrayList: 3, 2,
W powyższym przykładzie zwróć uwagę na stwierdzenie:
iterate.forEachRemaining((value) -> System.put.print(value + ", "));
Tutaj przekazaliśmy wyrażenie lambda jako argument forEachRemaining()
metody.
Teraz metoda wypisze wszystkie pozostałe elementy listy tablic.