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ě.
Metody | Popis |
---|---|
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:
Metody | Metoda 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í.