Co to jest Iterator w Javie i jak go używać?



Blog Iterator w Javie da ci właściwe wprowadzenie do tego, czym jest iterator i jak go używać w Javie z kilkoma przykładami

Jeśli pracujesz nad i powiedz, że chcesz wydrukować sekwencję, w tym miejscu pojawia się Iterator w Javie. W ten sposób możesz uzyskać sekwencję nawet bez dodawania instrukcji print dla każdego wiersza. Nauczmy się więc o Iteratorze w .

Poniżej znajdują się tematy, które omówię w tym module:





Zacznijmy!

Co to jest iterator?

Java obsługuje głównie cztery różne kursory. Są to mianowicie:



  • Wyliczenie
  • Iterator
  • ListIterator
  • Rozdzielacz

Każdy z tych kursorów Java ma pewne zalety i wady. W tym artykule skupimy się na Iteratorze.

jak podnieść liczbę do potęgi w java

Co to jest iterator w Javie?

Iterator to interfejs należący do struktury kolekcji. Umożliwia przechodzenie przez kolekcję, uzyskuje dostęp do elementu danych i usuwa elementy danych z kolekcji.



Jest również uważany za uniwersalny iterator, ponieważ można go zastosować do dowolnego obiekt. Używając Iteratora, możesz wykonywać operacje odczytu i usuwania. To jest ulepszona wersja Wyliczenie z dodatkowymi funkcjami usuwalności elementu.

Metody iteratora Java

Iterator Java ma łącznie 4 metody. Rozumiemy je szczegółowo.

abstrakcyjna różnica klas i interfejsów
MetodyOpis
forEachRemaining (Consumeraction)Wykonuje czynności na każdym elemencie do momentu przetworzenia wszystkich elementów. Również do momentu rzucenia wyjątku przez akcję.
hasNext ()To zwroty wartość prawdziwa, jeśli podczas iteracji napotkano dużą liczbę elementów.
Kolejny()To zwroty następny określony element podczas iteracji.
usunąć()Ta metoda rusuwa bieżący element. Rzuty IllegalStateException jeśli zostanie podjęta próba wywołania metody remove (), która nie jest poprzedzona wywołaniem metody next ().
boolean hasNext ()Zwraca to prawdę, jeśli iteracja ma więcej elementów.

Przykład:

class Metoda {public static void main (String [] args) ArrayList list = new ArrayList () list.add ('E') list.add ('D') list.add ('U') list.add ('R ') list.add (' E ') list.add (' K ') list.add (' A ') // Iterator do przechodzenia przez listę Iterator iterator = list.iterator () System.out.println (' Elementy listy : ') while (iterator.hasNext ()) System.out.print (iterator.next () +' ') System.out.println ()}}

Wyjście: EDUREKA

Rzućmy okiem na ListIterator w Javie.

ListIterator w Javie

ListIterator w Javie jest Iteratorem, który umożliwia użytkownikom przechodzenie przez kolekcję w obu kierunkach. Zawiera następujące metody:

MetodyMetoda i opis
void add (Object obj) Wstawia obj do listy przed elementem, który zostanie zwrócony przez następne wywołanie metody next ().
boolean hasNext () Zwraca wartość true, jeśli istnieje następny element. W przeciwnym razie zwraca false.
boolean hasPrevious () Zwraca wartość true, jeśli istnieje poprzedni element. W przeciwnym razie zwraca false.
Obiekt następny () Zwraca następny element. NoSuchElementException jest generowany, jeśli nie ma następnego elementu.
int nextIndex () Zwraca indeks następnego elementu. Jeśli nie ma następnego elementu, zwraca rozmiar listy.
Obiekt poprzedni () Zwraca poprzedni element. NoSuchElementException jest generowany, jeśli nie ma poprzedniego elementu.
int previousIndex () Zwraca indeks poprzedniego elementu. Jeśli nie ma poprzedniego elementu, zwraca -1.
void remove () Usuwa bieżący element z listy. Wyjątek IllegalStateException jest generowany, jeśli metoda remove () zostanie wywołana przed wywołaniem next () lub previous ().
void set (Object obj) Przypisuje obj do bieżącego elementu. Jest to element ostatnio zwrócony przez wywołanie funkcji next () lub previous ().

Przykład:

public class Lists {public static void main (String args []) {// Utwórz listę tablic ArrayList al = new ArrayList () // dodaj elementy do listy tablic al.add ('E') al.add ('D ') al.add (' U ') al.add (' R ') al.add (' E ') al.add (' K ') al.add (' A ') // Użyj iteratora, aby wyświetlić zawartość al System.out.print ('Oryginalna zawartość al:') Iterator itr = al.iterator () while (itr.hasNext ()) {Element obiektu = itr.next () System.out.print (element + '' )} System.out.println () // Modyfikuj iterowane obiekty ListIterator litr = al.listIterator () while (litr.hasNext ()) {Object element = litr.next () litr.set (element + '+') } System.out.print ('Zmodyfikowana zawartość al:') itr = al.iterator () while (itr.hasNext ()) {Element obiektu = itr.next () System.out.print (element + '') } System.out.println () // Teraz wyświetl listę wstecz System.out.print ('Zmodyfikowana lista wstecz:') while (litr.hasPrevious ()) {Element obiektu = litr.previous () System.out. print (element + '')} System.out.println ()}}

Wynik:

Oryginałzawartość al:E D U R E K A.
Zmodyfikowanozawartość al:JEST+re+U+R+JEST+DO+ A +
Zmodyfikowanolisty wstecz:DO+DO+JEST+R+U+re+ AND +

Przyjrzyjmy się teraz zaletom i ograniczeniom tego interfejsu iteratora w Javie.

Zalety Iteratora w Javie

Iterator w Javie ma następujące zalety.

  • Tych iteratorów można używać dla dowolnej klasy kolekcji.
  • Iterator w Javie obsługuje oba czytać jak również usunąć operacje.
  • Jeśli używasz dla pętli nie możesz zaktualizuj (dodaj / usuń) kolekcję, podczas gdy za pomocą iteratora możesz łatwo zaktualizować kolekcję.
  • Jest to Universal Cursor dla Collection API.
  • Nazwy metod są bardzo proste i bardzo łatwe w użyciu.

Ograniczenia Iteratora w Javie

Iteratory w Javie mają następujące wady:

  • Możesz wykonywać tylko iterację w kierunku do przodu, czyli Iterator jednokierunkowy.
  • Iterator nie obsługuje zastępowania i dodawania nowego elementu.
  • ListIterator jest najpotężniejszym iteratorem, ale ma zastosowanie tylko do klas implementowanych w liście. Nie jest to więc uniwersalny iterator.
  • W przypadku korzystania z operacji CRUD nie obsługuje ona operacji tworzenia i aktualizowania.
  • Kiedy porównujesz go ze Spliteratorem, nie pozwala na równoległe iterowanie elementów. Oznacza to, że obsługuje tylko iterację sekwencyjną.
  • Nie zapewnia lepszej wydajności przy iteracji dużej ilości danych.

To prowadzi nas do końca tego artykułu, w którym dowiedzieliśmy się, jak działa iterator w Javie. Mam nadzieję, że wszystko, co zostało Ci udostępnione w tym samouczku, jest dla Ciebie jasne.

jak stworzyć pakiet

Jeśli uważasz, że ten artykuł na temat „Iteratora w Javie” jest odpowiedni, zapoznaj się z zaufana firma zajmująca się edukacją online z siecią ponad 250 000 zadowolonych uczniów rozsianych po całym świecie.

Jesteśmy tutaj, aby pomóc Ci na każdym etapie Twojej podróży, poza tym opracowujemy program nauczania przeznaczony dla studentów i profesjonalistów, którzy chcą zostać programistą Java. Kurs ma na celu zapewnienie przewagi w programowaniu w języku Java i szkolenie zarówno podstawowych, jak i zaawansowanych koncepcji języka Java, a także różnych struktur Java, takich jak Hibernate i Spring.

Jeśli napotkasz jakieś pytania, nie krępuj się zadawać je w sekcji komentarzy w „Iteratorze w Javie”, a nasz zespół z przyjemnością odpowie.