Čo je Iterator v Jave a ako ho používať?



Blog Iterator in Java vám na niekoľkých príkladoch poskytne úvod do toho, čo je iterátor a ako ich používať v jazyku Java.

Ak pracujete na a a poviete, že chcete vytlačiť sekvenciu, to je miesto, kde sa do obrazu dostane Iterator v Jave. Týmto spôsobom môžete získať postupnosť aj bez pridania príkazu na tlač pre každý riadok. Poďme sa teda naučiť niečo o Iterátore .

Ďalej uvádzam témy, ktorým sa tento modul budem venovať:





Začnime!

ako používať spyder python

Čo je to iterátor?

Java podporuje hlavne štyri rôzne kurzory. Sú to konkrétne:



  • Vymenovanie
  • Iterátor
  • ListIterator
  • Rozdeľovač

Každý z týchto kurzorov Java má určité výhody a nevýhody. V tomto článku sa zameriame na Iterator.

Čo je to iterátor v Jave?

Iterátor je rozhranie, ktoré patrí do rámca zbierky. Umožňuje vám prechádzať kolekciou, pristupovať k dátovým prvkom a odstraňovať dátové prvky kolekcie.



Považuje sa tiež za univerzálny iterátor, pretože ho môžete použiť na akýkoľvek objekt. Pomocou iterátora môžete vykonávať operácie čítania aj odstraňovania. Toto je vylepšená verzia aplikácie Vymenovanie s dodatočnými funkciami odstrániteľnosti prvku.

Metódy Java Iterator

Java iterátor má celkom 4 metódy. Poďme im porozumieť podrobne.

MetódyPopis
forEachRemaining (Spotreba)Vykonáva akcie s každým z prvkov, kým a pokiaľ nebudú spracované všetky prvky. Rovnako dovtedy, kým akcia nevyvolá výnimku.
hasNext ()Toto vracia skutočná hodnota, ak sa počas iterácie vyskytne vysoký počet prvkov.
Ďalšie()Toto vracia nasledujúci zadaný prvok počas iterácie.
odstrániť ()Táto metóda rvypustí aktuálny prvok. Vrhá IllegalStateException ak dôjde k pokusu o volanie remove (), ktorému nepredchádza volanie next ().
boolean hasNext ()To platí, ak má iterácia viac prvkov.

Príklad:

trieda Metóda {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 ') // Iterátor na prechádzanie zoznamu Iterator iterator = list.iterator () System.out.println (' Prvky zoznamu : ') while (iterator.hasNext ()) System.out.print (iterator.next () +' ') System.out.println ()}}

Výstup: EDUREKA

Pozrime sa na ListIterator v Jave.

ListIterator v Jave

použite python vo vizuálnom štúdiu

ListIterator v Jave je iterátor, ktorý umožňuje používateľom prechádzať zbierkou oboma smermi. Obsahuje nasledujúce metódy:

MetódyMetóda a popis
void add (Object obj) Vloží obj do zoznamu pred prvok, ktorý sa vráti ďalším volaním funkcie next ().
boolean hasNext () Vráti hodnotu true, ak existuje ďalší prvok. V opačnom prípade vráti hodnotu false.
boolean hasPrevious () Vráti hodnotu true, ak existuje predchádzajúci prvok. V opačnom prípade vráti hodnotu false.
Objekt ďalej () Vráti nasledujúci prvok. Ak neexistuje nasledujúci prvok, vyvolá sa NoSuchElementException.
int nextIndex () Vráti index nasledujúceho prvku. Ak tam nie je ďalší prvok, vráti veľkosť zoznamu.
Predošlý objekt () Vráti predchádzajúci prvok. Ak neexistuje predchádzajúci prvok, vyvolá sa NoSuchElementException.
int previousIndex () Vráti index predchádzajúceho prvku. Ak nie je predchádzajúci prvok, vráti hodnotu -1.
void remove () Odstráni aktuálny prvok zo zoznamu. IllegalStateException sa vyvolá, ak sa vyvolá remove () pred vyvolaním next () alebo previous ().
void set (Object obj) Priradí obj k aktuálnemu prvku. Toto je prvok naposledy vrátený volaním na next () alebo previous ().

Príklad:

public class Lists {public static void main (String args []) {// Create a array list ArrayList al = new ArrayList () // add elements to the array list al.add ('E') al.add ('D ') al.add (' U ') al.add (' R ') al.add (' E ') al.add (' K ') al.add (' A ') // Na zobrazenie obsahu iterátora použite al System.out.print ('Pôvodný obsah al:') Iterator itr = al.iterator () while (itr.hasNext ()) {Object element = itr.next () System.out.print (element + '' )} System.out.println () // Úprava iterovaných objektov ListIterator litr = al.listIterator () while (litr.hasNext ()) {Object element = litr.next () litr.set (element + '+') } System.out.print ('Upravený obsah al:') itr = al.iterator () while (itr.hasNext ()) {Object element = itr.next () System.out.print (element + '') } System.out.println () // Teraz zobrazte zoznam dozadu System.out.print ('Upravený zoznam dozadu:') while (litr.hasPrevious ()) {Object element = litr.previous () System.out. print (element + '')} System.out.println ()}}

Výkon:

Originálobsah al:E D U R E K A
Upravenéobsah al:JE+D+U+R+JE+K+ A +
Upravenézoznam dozadu:TO+K+JE+R+U+D+ A +

nájsť najväčší prvok v poli java -

Pozrime sa teraz na výhody a obmedzenia tohto rozhrania iterátora v Jave.

Výhody Iterátora v Jave

Iterátor v Jave má nasledujúce výhody.

  • Tieto iterátory môžete použiť pre ktorúkoľvek triedu Collection.
  • Iterator v Jave podporuje oboje čítať rovnako ako aj odstrániť operácie.
  • Ak používate pre slučku nemôžeš aktualizovať (pridať / odobrať) kolekciu, zatiaľ čo pomocou iterátora môžete kolekciu ľahko aktualizovať.
  • Je to univerzálny kurzor pre API Collection.
  • Názvy metód sú veľmi jednoduché a ich použitie je veľmi jednoduché.

Obmedzenia Iterátora v Jave

Iterátory v Jave majú nasledujúce nevýhody:

  • Môžete vykonávať iba iteráciu smerom dopredu, tj. Uni-Directional Iterator.
  • Výmenu a pridanie nového prvku Iterátor nepodporuje.
  • ListIterator je najsilnejší iterátor, ale je použiteľný iba pre triedy implementované v zozname. Nejde teda o univerzálny iterátor.
  • Keď používate operácie CRUD, nepodporuje operácie vytvorenia a aktualizácie.
  • Keď to porovnáte s programom Spliterator, nenechá vás iterovať prvky paralelne. To znamená, že podporuje iba sekvenčnú iteráciu.
  • Nepodporuje lepší výkon pri iterácii veľkého množstva údajov.

Týmto sa dostávame na koniec tohto článku, kde sme sa dozvedeli, ako funguje iterátor v prostredí Java. Dúfam, že máte prehľad o všetkom, čo bolo s vami zdieľané v tomto tutoriále.

Ak sa vám zdá tento článok o „Iterátore v Jave“ relevantný, pozrite si dôveryhodná online vzdelávacia spoločnosť so sieťou viac ako 250 000 spokojných študentov rozmiestnených po celom svete.

Sme tu, aby sme vám pomohli s každým krokom na vašej ceste. Okrem toho vymyslíme učebné osnovy určené pre študentov a profesionálov, ktorí sa chcú stať vývojármi Java. Kurz je navrhnutý tak, aby vám dal náskok v programovaní v Jave a naučil vás základné aj pokročilé koncepty Javy spolu s rôznymi rámcami Java, ako je Hibernate & Spring.

Ak narazíte na akékoľvek otázky, neváhajte sa ich opýtať v sekcii komentárov „Iterator in Java“ a náš tím vám rád odpovie.