Iterator w Javie
W Javie an Iterator jest jednym z kursorów Java. Iterator Javy to interfejs używany do iteracji po kolekcji komponentów obiektowych Java, jeden po drugim. Można go używać bezpłatnie w języku programowania Java od frameworka Java 1.2 Collection. Należy do pakietu java.util.
Mimo że Java Iterator został wprowadzony w Javie 1.2, nadal nie jest najstarszym dostępnym narzędziem umożliwiającym przeglądanie elementów obiektu Collection. Najstarszym iteratorem w języku programowania Java jest Enumerator, starszy niż Iterator. Interfejs Java Iterator zastępuje iterator modułu wyliczającego, który był praktykowany na początku w celu przeglądania niektórych dostępnych kolekcji, takich jak ArrayLists.
Iterator Java jest również znany jako uniwersalny kursor Java, ponieważ jest to właściwe dla wszystkich klas frameworku Collection. Iterator Java pomaga również w operacjach takich jak CZYTAJ i USUŃ. Porównując interfejs Java Iterator z interfejsem iteratora wyliczeniowego, można stwierdzić, że nazwy metod dostępnych w Java Iteratorze są bardziej precyzyjne i prostsze w użyciu.
Zalety iteratora Java
Iterator w Javie stał się bardzo popularny ze względu na liczne zalety. Zalety Java Iterator podano w następujący sposób:
- Użytkownik może zastosować te iteratory do dowolnych klas platformy Collection.
- W Iteratorze Java możemy używać zarówno operacji odczytu, jak i usunięcia.
- Jeśli użytkownik pracuje z pętlą for, nie może modernizować (dodawać/usuwać) kolekcji, natomiast jeśli korzysta z iteratora Java, może po prostu zaktualizować kolekcję.
- Iterator Java jest uważany za uniwersalny kursor dla interfejsu API kolekcji.
- Nazwy metod w Iteratorze Java są bardzo proste i bardzo proste w użyciu.
Wady iteratora Java
Pomimo licznych zalet, iterator Java ma również różne wady. Poniżej podano wady iteratora Java:
- Iterator Java zachowuje iterację tylko w kierunku do przodu. Krótko mówiąc, iterator Java jest iteratorem jednokierunkowym.
- Wymiana i rozbudowa nowego komponentu nie są zatwierdzane przez Iterator Java.
- W operacjach CRUD iterator Java nie obsługuje różnych operacji, takich jak CREATE i UPDATE.
- W porównaniu z Spliteratorem, Iterator Java nie obsługuje elementów przechodzących we wzorcu równoległym, co oznacza, że Iterator Java obsługuje tylko iterację sekwencyjną.
- W porównaniu z Spliteratorem, Iterator Java nie obsługuje bardziej niezawodnego wykonywania w celu przechodzenia przez masową ilość danych.
Jak korzystać z Iteratora Java?
Kiedy użytkownik musi skorzystać z Iteratora Java, musi utworzyć instancję interfejsu Iteratora ze zbioru obiektów, po których chce się poruszać. Następnie otrzymany Iterator utrzymuje ślad komponentów w kolekcji bazowej, aby mieć pewność, że użytkownik przejdzie przez każdy element kolekcji obiektów.
Jeśli użytkownik zmodyfikuje podstawową kolekcję podczas przechodzenia przez Iterator prowadzący do tej kolekcji, Iterator zazwyczaj to potwierdzi i zgłosi wyjątek następnym razem, gdy użytkownik będzie próbował uzyskać następny komponent z Iteratora.
Metody iteratora Java
Poniższy rysunek doskonale ilustruje diagram klas interfejsu Java Iterator. Zawiera w sumie cztery metody, którymi są:
- maNastępny()
- Następny()
- usunąć()
- dla każdego pozostałego()
The dla każdego pozostałego() metoda została dodana w Javie 8. Omówmy szczegółowo każdą metodę.
Jeśli w iteracji nie pozostały już żadne elementy, nie ma potrzeby wywoływania metody next(). W prostych słowach można powiedzieć, że metoda służy do określenia, czy metoda next() ma zostać wywołana, czy nie.
Przykład iteratora Java
Teraz czas na wykonanie programu w Javie, który zilustruje zalety interfejsu Java Iterator. Poniższy kod generuje ArrayList nazw miast. Następnie inicjujemy iterator, stosując metodę iterator () listy ArrayList. Następnie lista jest przeglądana w celu przedstawienia każdego elementu.
JavaIteratorPrzykład.java
import java.io.*; import java.util.*; public class JavaIteratorExample { public static void main(String[] args) { ArrayList cityNames = new ArrayList(); cityNames.add('Delhi'); cityNames.add('Mumbai'); cityNames.add('Kolkata'); cityNames.add('Chandigarh'); cityNames.add('Noida'); // Iterator to iterate the cityNames Iterator iterator = cityNames.iterator(); System.out.println('CityNames elements : '); while (iterator.hasNext()) System.out.print(iterator.next() + ' '); System.out.println(); } } Wyjście:
CityNames elements: Delhi Mumbai Kolkata Chandigarh Noida
Punkty do zapamiętania
- Iterator Java to interfejs dodany w języku programowania Java w środowisku Java 1.2 Collection. Należy do pakietu java.util.
- Jest to jeden z kursorów Java, które są wykorzystywane do poruszania się po obiektach struktury kolekcji.
- Iterator Java służy do iteracji komponentów obiektu kolekcji jeden po drugim.
- Iterator Java jest również znany jako uniwersalny kursor Java, ponieważ jest odpowiedni dla wszystkich klas frameworka Collection.
- Iterator Java obsługuje także operacje takie jak READ i REMOVE.
- Nazwy metod klasy Iterator są bardzo proste i łatwe w użyciu w porównaniu z nazwami metod klasy Iterator.