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
Metody | Opis |
---|---|
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:
Metody | Metoda 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.