logo

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.

moduły sprężynowe

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.

szereg Fibonacciego w ok

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ę.

przechodzenie przez drzewo binarne w ramach sprzedaży pocztowej
    wartość logiczna maNastępny(): Metoda nie akceptuje żadnego parametru. Zwraca wartość true, jeśli w iteracji pozostało więcej elementów. Jeśli nie ma już więcej elementów, zwróci wartość false.
    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.E następny():Działa podobnie do metody hasNext(). Nie akceptuje również żadnego parametru. Zwraca E, czyli kolejny element w przejściu. Jeśli w iteracji lub kolekcji obiektów nie ma już więcej elementów do iteracji, zgłasza wyjątek NoSuchElementException.domyślne usunięcie pustej wartości ():Ta metoda również nie wymaga żadnych parametrów. Ta metoda nie ma typu zwracanego. Główną funkcją tej metody jest usunięcie ostatniego elementu zwróconego przez iterator przechodzący przez kolekcję bazową. Metodę usuwania () można zażądać rzadko raz na następne wywołanie metody (). Jeśli iterator nie obsługuje operacji usuwania, zgłasza wyjątek UnSupportedOperationException. Zgłasza również wyjątek IllegalStateException, jeśli następna metoda nie została jeszcze wywołana.domyślna nieważność dlaEachRemaining (akcja konsumenta):Jest to jedyna metoda iteratora Java, która przyjmuje parametr. Akceptuje działanie jako parametr. Działanie to nic innego, jak tylko to, co należy wykonać. Metoda nie ma typu zwracanego. Ta metoda wykonuje szczegółową operację na wszystkich pozostałych składnikach kolekcji, dopóki wszystkie składniki nie zostaną zużyte lub akcja nie zgłosi wyjątku. Wyjątki zgłaszane przez akcję są dostarczane do osoby wywołującej. Jeśli akcja ma wartość null, zgłasza wyjątek NullPointerException.

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.