logo

Iterátor v jazyku Java

V Jave, an Iterátor je jedným z Java kurzorov. Java Iterator je rozhranie, ktoré sa praktizuje na iteráciu kolekcie objektov Java v celku jeden po druhom. Je zadarmo na použitie v programovacom jazyku Java od rámca Java 1.2 Collection. Patrí do balíka java.util.

Hoci Java Iterator bol predstavený v Java 1.2, stále to nie je najstarší dostupný nástroj na prechádzanie cez prvky objektu Collection. Najstarší iterátor v programovacom jazyku Java je Iterator predchádzajúci Enumerator. Rozhranie Java Iterator nasleduje po iterátore enumerátora, ktorý sa na začiatku používal na prechod cez niektoré dostupné kolekcie, ako sú ArrayLists.

java parseint

Java Iterator je tiež známy ako univerzálny kurzor Java, pretože je vhodný pre všetky triedy frameworku Collection. Java Iterator tiež pomáha pri operáciách ako READ a REMOVE. Keď porovnáme rozhranie Java Iterator s rozhraním enumeračného iterátora, môžeme povedať, že názvy metód dostupných v Java Iterator sú presnejšie a jednoduchšie na použitie.

Výhody Java Iterator

Iterátor v Jave sa stal veľmi rozšíreným vďaka svojim početným výhodám. Výhody Java Iterator sú uvedené nasledovne -

  • Používateľ môže použiť tieto iterátory na ktorúkoľvek z tried rámca Collection.
  • V Java Iterator môžeme použiť obe operácie čítania a odstránenia.
  • Ak používateľ pracuje so slučkou for, nemôže kolekciu modernizovať (pridať/odstrániť), zatiaľ čo ak používa Java Iterator, môže kolekciu jednoducho aktualizovať.
  • Java Iterator sa považuje za univerzálny kurzor pre kolekciu API.
  • Názvy metód v Java Iterator sú veľmi jednoduché a ich použitie je veľmi jednoduché.

Nevýhody Java Iterator

Napriek mnohým výhodám má Java Iterator aj rôzne nevýhody. Nevýhody Java Iterator sú uvedené nižšie -

  • Java Iterator zachováva iba iteráciu v smere dopredu. Jednoducho povedané, Java Iterator je jednosmerný iterátor.
  • Výmena a rozšírenie nového komponentu nie sú schválené iterátorom Java.
  • V CRUD Operations nemá Java Iterator rôzne operácie ako CREATE a UPDATE.
  • V porovnaní s Spliteratorom, Java Iterator nepodporuje prechádzanie elementmi v paralelnom vzore, čo znamená, že Java Iterator podporuje iba sekvenčnú iteráciu.
  • V porovnaní s Spliteratorom nepodporuje Java Iterator spoľahlivejšie spustenie na prechod veľkého objemu údajov.

Ako používať Java Iterator?

Keď používateľ potrebuje použiť Java Iterator, potom je pre neho povinné vytvoriť inštanciu rozhrania Iterator zo zbierky objektov, cez ktoré chcú prejsť. Potom prijatý iterátor udržiava stopu komponentov v základnej kolekcii, aby sa zaistilo, že používateľ bude prechádzať cez každý z prvkov kolekcie objektov.

Ak používateľ upraví podkladovú kolekciu pri prechádzaní cez Iterátor vedúci k tejto kolekcii, potom to Iterátor zvyčajne potvrdí a pri ďalšom pokuse používateľa o získanie ďalšieho komponentu z Iterátora vyvolá výnimku.

ako zakázať režim vývojára

Metódy Java Iterator

Nasledujúci obrázok dokonale zobrazuje diagram tried rozhrania Java Iterator. Obsahuje celkovo štyri metódy, ktorými sú:

  • hasNext()
  • Ďalšie()
  • odstrániť ()
  • forEachRemaining()

The forEachRemaining() metóda bola pridaná v Java 8. Poďme diskutovať o každej metóde podrobne.

ako previesť z int na reťazec v jave
    boolean hasNext(): Metóda neakceptuje žiadny parameter. Ak v iterácii zostáva viac prvkov, vráti hodnotu true. Ak nezostanú žiadne ďalšie prvky, vráti hodnotu false.
    Ak v iterácii nezostali žiadne ďalšie prvky, potom nie je potrebné volať metódu next(). Jednoducho povedané, môžeme povedať, že metóda sa používa na určenie, či sa má alebo nemá volať metóda next().E ďalšie():Je podobná metóde hasNext(). Neakceptuje ani žiadny parameter. Vráti E, t.j. ďalší prvok v prechode. Ak iterácii alebo kolekcii objektov už nezostali žiadne prvky na iteráciu, potom vyvolá výnimku NoSuchElementException.predvolené void remove():Táto metóda tiež nevyžaduje žiadne parametre. Neexistuje žiadny návratový typ tejto metódy. Hlavnou funkciou tejto metódy je odstrániť posledný prvok vrátený iterátorom prechádzajúcim cez podkladovú kolekciu. Metóda remove () môže byť vyžadovaná sotva raz pri ďalšom () volaní metódy. Ak iterátor nepodporuje operáciu odstránenia, potom vyvolá výnimku UnSupportedOperationException. Vyhodí tiež výnimku IllegalStateException, ak ešte nie je zavolaná ďalšia metóda.predvolená neplatnosť pre každého zostávajúceho (akcia spotrebiteľa):Je to jediná metóda Java Iterator, ktorá berie parameter. Akceptuje akciu ako parameter. Akcia nie je nič iné, len to, čo treba vykonať. Neexistuje žiadny návratový typ metódy. Táto metóda vykonáva špecifikovanú operáciu na všetkých ľavých komponentoch kolekcie, kým sa všetky komponenty nespotrebujú alebo akcia nevyvolá výnimku. Výnimky vyvolané akciou sú doručené volajúcemu. Ak je akcia nulová, vyvolá výnimku NullPointerException.

Príklad Java Iterator

Teraz je čas spustiť program Java, aby sme ilustrovali výhodu rozhrania Java Iterator. Nižšie uvedený kód vytvára ArrayList názvov miest. Potom inicializujeme iterátor použitím metódy iterator () ArrayList. Potom sa zoznam prejde, aby reprezentoval každý prvok.

JavaIteratorExample.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(); } } 

Výkon:

 CityNames elements: Delhi Mumbai Kolkata Chandigarh Noida 

Body na zapamätanie

  • Java Iterator je rozhranie pridané v programovacom jazyku Java v rámci Java 1.2 Collection. Patrí do balíka java.util.
  • Je to jeden z Java kurzorov, ktoré sa používajú na prechádzanie objektmi rámca kolekcie.
  • Java Iterator sa používa na iteráciu komponentov objektu kolekcie jeden po druhom.
  • Java Iterator je tiež známy ako univerzálny kurzor jazyka Java, pretože je vhodný pre všetky triedy frameworku Collection.
  • Java Iterator tiež podporuje operácie ako READ a REMOVE.
  • Názvy metód triedy Iterator sú veľmi jednoduché a ľahko použiteľné v porovnaní s názvami metód Enumeration Iterator.