Što je Iterator u Javi i kako ga koristiti?

Blog Iterator u Javi dat će vam pravi uvod u to što je iterator i kako ih koristiti u Javi s nekoliko primjera

Ako radite na a i recite da želite ispisati sekvencu, tu Iterator u Javi dolazi na sliku. Na taj način možete dobiti sekvencu čak i bez dodavanja ispisa za svaki redak. Dakle, naučimo o Iteratoru u .

ng-promjena vs onchange

Ispod su teme koje ću obrađivati ​​u ovom modulu:





Započnimo!

Što je iterator?

Java uglavnom podržava četiri različita pokazivača. Oni su naime:



  • Nabrajanje
  • Iterator
  • ListIterator
  • Spliterator

Svaki od ovih Java pokazivača ima neke prednosti i nedostatke. U ovom ćemo se članku usredotočiti na Iterator.

Što je iterator u Javi?

Iterator je sučelje koje pripada okviru zbirke. Omogućuje vam prelazak zbirke, pristup elementu podataka i uklanjanje elemenata podataka zbirke.



Također se smatra univerzalnim iteratorom jer ga možete primijeniti na bilo koji objekt. Korištenjem Iteratora možete izvoditi i operacije čitanja i uklanjanja. Ovo je poboljšana verzija Nabrajanje s dodatnim funkcionalnostima sposobnosti uklanjanja elementa.

Metode Java Iteratora

Java iterator ima ukupno 4 metode. Razumijemo ih detaljno.

koja je ideja najbolja za javu
MetodeOpis
forEachRemaining (trošenje)Izvodi radnje na svakom elementu dok i ako svi elementi nisu obrađeni. Također sve dok akcija ne izuzme izuzetak.
hasNext ()Ovaj vraća se prava vrijednost ako se tijekom iteracije nađe velik broj elemenata.
Sljedeći()Ovaj vraća se sljedeći navedeni element tijekom iteracije.
ukloniti()Ova metoda rosjeća trenutni element. Baca IllegalStateException ako se pokuša nazvati remove () kojem ne prethodi poziv next ().
boolean hasNext ()To vraća true ako iteracija ima više elemenata.

Primjer:

klasa 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 za prelazak popisa Iterator iterator = list.iterator () System.out.println (' Elementi popisa : ') while (iterator.hasNext ()) System.out.print (iterator.next () +' ') System.out.println ()}}

Izlaz: EDUREKA

Pogledajmo ListIterator na Javi.

ListIterator u Javi

ListIterator na Javi je Iterator koji korisnicima omogućuje prelazak kroz zbirku u oba smjera. Sadrži sljedeće metode:

MetodeMetoda i opis
void dodaj (objekt objekt) Upisuje obj na popis ispred elementa koji će se sljedećim pozivom vratiti na next ().
boolean hasNext () Vraća true ako postoji sljedeći element. U suprotnom, vraća false.
boolean hasPrevious () Vraća true ako postoji prethodni element. U suprotnom, vraća false.
Sljedeći objekt () Vraća sljedeći element. Izbacuje se NoSuchElementException ako nema sljedećeg elementa.
int nextIndex () Vraća indeks sljedećeg elementa. Ako nema sljedećeg elementa, vraća veličinu popisa.
Prethodni objekt () Vraća prethodni element. Izbacuje se NoSuchElementException ako nema prethodnog elementa.
int previousIndex () Vraća indeks prethodnog elementa. Ako nema prethodnog elementa, vraća -1.
ukloni prazninu () Uklanja trenutni element sa popisa. IllegalStateException se baca ako se pozove remove () prije nego što se pozove next () ili previous ().
void set (objekt objekt) Trenutnom elementu dodjeljuje obj. Ovo je element koji je posljednji put vratio poziv bilo next () ili previous ().

Primjer:

popisi javnih klasa {public static void main (String args []) {// Stvaranje popisa polja ArrayList al = new ArrayList () // dodavanje elemenata na popis nizova al.add ('E') al.add ('D ') al.add (' U ') al.add (' R ') al.add (' E ') al.add (' K ') al.add (' A ') // Koristite iterator za prikaz sadržaja al System.out.print ('Izvorni sadržaj al:') Iterator itr = al.iterator () while (itr.hasNext ()) {Element objekta = itr.next () System.out.print (element + '' )} System.out.println () // Izmjena objekata koji se ponavljaju ListIterator litr = al.listIterator () while (litr.hasNext ()) {Element objekta = litr.next () litr.set (element + '+') } System.out.print ('Izmijenjeni sadržaj al:') itr = al.iterator () dok (itr.hasNext ()) {Element objekta = itr.next () System.out.print (element + '') } System.out.println () // Sada, prikažite popis unatrag System.out.print ('Modificirani popis unatrag:') while (litr.hasPrevious ()) {Object element = litr.previous () System.out. ispis (element + '')} System.out.println ()}}

Izlaz:

Izvorniksadržaj al:E D U R E K A
Izmijenjenosadržaj al:JE+D+U+R+JE+DO+ A +
Izmijenjenopopis unatrag:DO+DO+JE+R+U+D+ I +

Pogledajmo sada prednosti i ograničenja ovog iteratorskog sučelja u Javi.

Prednosti Iteratora u Javi

Iterator u Javi ima sljedeće prednosti.

  • Te iteratore možete koristiti za bilo koju klasu zbirke.
  • Iterator u Javi podržava oboje čitati kao i ukloniti operacijama.
  • Ako koristite za petlju ne možeš ažurirajte (dodajte / uklonite) Zbirku, dok uz pomoć iteratora Zbirku možete lako ažurirati.
  • To je univerzalni kursor za API za prikupljanje.
  • Nazivi metoda vrlo su jednostavni i vrlo su jednostavni za upotrebu.

Ograničenja Iteratora u Javi

Iteratori u Javi imaju sljedeće nedostatke:

  • Možete izvoditi samo iteraciju smjera prema naprijed, to je Jednosmjerni iterator.
  • Zamjena i dodavanje novog elementa nije podržan od strane Iteratora.
  • ListIterator je najsnažniji iterator, ali je primjenjiv samo za klase implementirane na Listu. Dakle, to nije univerzalni iterator.
  • Kada koristite CRUD Operations, on ne podržava operacije stvaranja i ažuriranja.
  • Kada ga usporedite sa Spliteratorom, ne dopušta paralelno ponavljanje elemenata. To znači da podržava samo sekvencijalnu iteraciju.
  • Ne podržava bolje performanse za ponavljanje velike količine podataka.

Ovo nas dovodi do kraja ovog članka, gdje smo naučili kako iterator u Javi radi. Nadam se da vam je jasno sve što je s vama podijeljeno u ovom vodiču.

okvir vođen ključnim riječima u selenu

Ako smatrate da je ovaj članak o “Iteratoru na Javi” relevantan, pogledajte pouzdana tvrtka za internetsko učenje s mrežom od više od 250 000 zadovoljnih učenika raširenih širom svijeta.

Ovdje smo da vam pomognemo u svakom koraku na putovanju, osim toga, osmislili smo i kurikulum koji je stvoren za studente i profesionalce koji žele biti programer Java. Tečaj je dizajniran da vam pruži početnu prednost u Java programiranju i osposobi vas za osnovne i napredne Java koncepte zajedno s raznim Java okvirima poput Hibernate & Spring.

Ako naiđete na neko pitanje, slobodno postavite sva svoja pitanja u odjeljku za komentare u 'Iteratoru na Javi' i naš će tim rado odgovoriti.