Co je Iterator v Javě a jak jej používat?



Blog Iterator in Java vám na několika příkladech představí, co je iterátor a jak je používat v Javě.

Pokud pracujete na a a řekněte, že chcete vytisknout sekvenci, to je místo, kde se do obrazu dostane Iterator v Javě. Tímto způsobem můžete získat sekvenci i bez přidání tiskového příkazu pro každý řádek. Pojďme se tedy dovědět něco o Iterátoru .

Níže uvádíme témata, kterým se v tomto modulu budu věnovat:





Začněme!

jak používat spyder python

Co je iterátor?

Java podporuje hlavně čtyři různé kurzory. Jsou to zejména:



  • Výčet
  • Iterátor
  • ListIterator
  • Rozdělovač

Každý z těchto kurzorů Java má některé výhody a nevýhody. V tomto článku se zaměříme na Iterator.

Co je to iterátor v Javě?

Iterátor je rozhraní, které patří do rámce kolekce. Umožňuje procházet kolekci, přistupuje k datovému prvku a odebírá datové prvky kolekce.



Je také považován za univerzální iterátor, protože jej můžete použít na jakýkoli objekt. Pomocí Iterátoru můžete provádět operace čtení i odebrání. Toto je vylepšená verze Výčet s dalšími funkcemi odstranitelnosti prvku.

Metody Java Iterator

Java iterátor má celkem 4 metody. Pojďme jim porozumět podrobně.

MetodyPopis
forEachRemaining (Spotřeba)Provádí akce na každém z prvků, dokud a dokud nebudou zpracovány všechny prvky. Také, dokud akce nevyvolá výjimku.
hasNext ()Tento se vrací skutečná hodnota, pokud během iterace dojde k vysokému počtu prvků.
další()Tento se vrací další zadaný prvek během iterace.
odstranit()Tato metoda rvymaže aktuální prvek. Vrhá IllegalStateException pokud dojde k pokusu o volání remove (), kterému nepředchází volání next ().
boolean hasNext ()To vrátí true, pokud má iterace více prvků.

Příklad:

třída 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 ') // Iterátor pro procházení seznamu Iterator iterator = list.iterator () System.out.println (' Prvky seznamu : ') while (iterator.hasNext ()) System.out.print (iterator.next () +' ') System.out.println ()}}

Výstup: EDUREKA

Podívejme se na ListIterator v Javě.

ListIterator v Javě

jak psát třídu singleton v java

ListIterator v Javě je iterátor, který umožňuje uživatelům procházet kolekcí v obou směrech. Obsahuje následující metody:

MetodyMetoda a popis
void add (Object obj) Vloží obj do seznamu před prvek, který bude vrácen dalším voláním next ().
boolean hasNext () Vrátí hodnotu true, pokud existuje další prvek. V opačném případě vrátí hodnotu false.
boolean hasPrevious () Vrátí true, pokud existuje předchozí prvek. V opačném případě vrátí hodnotu false.
Objekt další () Vrátí další prvek. NoSuchElementException je vyvolána, pokud není další prvek.
int nextIndex () Vrátí index dalšího prvku. Pokud není další prvek, vrátí velikost seznamu.
Objekt předchozí () Vrátí předchozí prvek. NoSuchElementException je vyvolána, pokud není předchozí prvek.
int previousIndex () Vrátí index předchozího prvku. Pokud není předchozí prvek, vrátí -1.
void remove () Odebere aktuální prvek ze seznamu. IllegalStateException je vyvolána, pokud je volána funkce remove () před vyvoláním next () nebo previous ().
void set (Object obj) Přiřadí obj aktuálnímu prvku. Toto je prvek naposledy vrácený voláním next () nebo previous ().

Příklad:

public class Lists {public static void main (String args []) {// Create an 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 ') // Použijte iterátor k zobrazení obsahu 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 objektů 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 () // Nyní zobrazte seznam zpět System.out.print ('Upravený seznam zpět:') while (litr.hasPrevious ()) {Object element = litr.previous () System.out. print (element + '')} System.out.println ()}}

Výstup:

Originálobsah al:E D U R E K A
Upravenoobsah al:JE+D+U+R+JE+K+ A +
Upravenoseznam zpět:NA+K+JE+R+U+D+ A +

rozdíl mezi proměnlivým a neměnným

Nyní se podívejme na výhody a omezení tohoto rozhraní iterátoru v Javě.

Výhody Iterátoru v Javě

Iterator v Javě má ​​následující výhody.

  • Tyto iterátory můžete použít pro jakoukoli třídu Collection.
  • Iterator v Javě podporuje obojí číst stejně jako odstranit operace.
  • Pokud používáte pro smyčku nemůžeš aktualizovat (přidat / odebrat) kolekci, zatímco pomocí iterátoru můžete kolekci snadno aktualizovat.
  • Je to univerzální kurzor pro Collection API.
  • Názvy metod jsou velmi jednoduché a jejich použití je velmi snadné.

Omezení Iterátoru v Javě

Iterátory v Javě mají následující nevýhody:

  • Můžete provádět pouze iteraci dopředu, tj. Uni-Directional Iterator.
  • Iterátor nahrazení a přidání nového prvku nepodporuje.
  • ListIterator je nejvýkonnější iterátor, ale je použitelný pouze pro třídy implementované v seznamu. Není to tedy univerzální iterátor.
  • Když používáte operace CRUD, nepodporuje operace vytvoření a aktualizace.
  • Když jej porovnáte se Spliteratorem, nedovolí vám iterovat prvky paralelně. To znamená, že podporuje pouze sekvenční iteraci.
  • Nepodporuje lepší výkon při iteraci velkého objemu dat.

Tím se dostáváme na konec tohoto článku, kde jsme se dozvěděli o tom, jak iterátor v Javě funguje. Doufám, že máte jasno se vším, co bylo s vámi v tomto tutoriálu sdíleno.

Pokud shledáte tento článek týkající se „Iterátoru v Javě“ relevantní, podívejte se na důvěryhodná online vzdělávací společnost se sítí více než 250 000 spokojených studentů po celém světě.

Jsme tu, abychom vám pomohli s každým krokem na vaší cestě, kromě toho vymyslíme učební plán určený pro studenty a profesionály, kteří chtějí být vývojářem Java. Kurz je navržen tak, aby vám poskytl náskok v programování v Javě a naučil vás základní i pokročilé koncepty Javy spolu s různými rámci Java, jako je Hibernate & Spring.

Pokud narazíte na jakékoli dotazy, neváhejte se zeptat na všechny své dotazy v sekci komentářů „Iterator in Java“ a náš tým vám rád odpoví.