U Javi, an Iterator je jedan od Java kursora. Java iterator je sučelje koje se prakticira kako bi se jedna po jedna iterirala preko kolekcije komponenti Java objekta. Besplatan je za korištenje u Java programskom jeziku od okvira Java 1.2 Collection. Pripada paketu java.util.
Iako je Java Iterator predstavljen u Javi 1.2, on još uvijek nije najstariji alat dostupan za prolazak kroz elemente objekta zbirke. Najstariji Iterator u programskom jeziku Java je Iterator koji prethodi Enumeratoru. Java Iterator sučelje nasljeđuje iterator enumerator koji se prakticirao na početku za prelazak preko nekih dostupnih kolekcija kao što su ArrayLists.
Java Iterator također je poznat kao univerzalni kursor Jave jer je prikladan za sve klase okvira zbirke. Java Iterator također pomaže u operacijama kao što su READ i REMOVE. Kada usporedimo Java Iterator sučelje sa sučeljem enumeratorskog iteratora, možemo reći da su nazivi metoda dostupnih u Java Iteratoru precizniji i jednostavniji za korištenje.
Prednosti Java Iteratora
Iterator je u Javi postao vrlo raširen zbog svojih brojnih prednosti. Prednosti Java Iteratora navedene su kako slijedi -
- Korisnik može primijeniti ove iteratore na bilo koju klasu okvira zbirke.
- U Java Iteratoru možemo koristiti obje operacije čitanja i uklanjanja.
- Ako korisnik radi s for petljom, ne može modernizirati (dodati/ukloniti) zbirku, dok, ako koristi Java Iterator, može jednostavno ažurirati zbirku.
- Java iterator se smatra univerzalnim kursorom za API zbirke.
- Imena metoda u Java Iteratoru su vrlo laka i vrlo jednostavna za korištenje.
Nedostaci Java Iteratora
Unatoč brojnim prednostima, Java Iterator ima i brojne nedostatke. Nedostaci Java Iteratora navedeni su u nastavku -
- Java Iterator čuva iteraciju samo u smjeru naprijed. Jednostavnim riječima, Java Iterator je jednosmjerni Iterator.
- Java Iterator ne odobrava zamjenu i proširenje nove komponente.
- U CRUD operacijama, Java iterator ne drži razne operacije poput CREATE i UPDATE.
- U usporedbi s Spliteratorom, Java Iterator ne podržava prelaženje elemenata u paralelnom uzorku što implicira da Java Iterator podržava samo sekvencijalno ponavljanje.
- U usporedbi s Spliteratorom, Java Iterator ne podržava pouzdanije izvršenje za prelazak velike količine podataka.
Kako koristiti Java Iterator?
Kada korisnik treba koristiti Java Iterator, obavezno je napraviti instancu Iterator sučelja iz kolekcije objekata preko kojih žele prijeći. Nakon toga, primljeni iterator održava trag komponenti u temeljnoj kolekciji kako bi se osiguralo da će korisnik prijeći preko svakog od elemenata kolekcije objekata.
Ako korisnik modificira temeljnu zbirku dok prelazi preko iteratora koji vodi do te zbirke, tada će iterator to obično potvrditi i izbacit će iznimku sljedeći put kada korisnik pokuša dobiti sljedeću komponentu iz iteratora.
Metode Java iteratora
Sljedeća slika savršeno prikazuje dijagram klasa Java Iterator sučelja. Sadrži ukupno četiri metode koje su:
- hasNext()
- Sljedeći()
- ukloniti()
- zaSvakiPreostali()
The zaSvakiPreostali() metoda je dodana u Javi 8. Raspravljajmo o svakoj metodi detaljno.
Ako nema više preostalih elemenata u iteraciji, tada nema potrebe pozivati next() metodu. Jednostavnim riječima, možemo reći da se metoda koristi za određivanje hoće li se next() metoda pozvati ili ne.
Primjer Java Iteratora
Sada je vrijeme za izvršavanje Java programa kako bi se ilustrirala prednost Java Iterator sučelja. Donji kod stvara ArrayList imena gradova. Zatim inicijaliziramo iterator primjenom metode iterator () ArrayList-a. Nakon toga, popis se prelazi kako bi se predstavio svaki element.
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(); } }
Izlaz:
CityNames elements: Delhi Mumbai Kolkata Chandigarh Noida
Bodovi za pamćenje
- Java Iterator je sučelje dodano u programskom jeziku Java u sklopu Java 1.2 Collection. Pripada paketu java.util.
- To je jedan od Java pokazivača koji se prakticiraju za kretanje kroz objekte okvira zbirke.
- Java Iterator koristi se za ponavljanje komponenti objekta zbirke jednu po jednu.
- Java Iterator također je poznat kao univerzalni kursor Jave jer je prikladan za sve klase okvira zbirke.
- Java Iterator također podržava operacije kao što su READ i REMOVE.
- Nazivi metoda klase Iterator vrlo su jednostavni i laki za korištenje u usporedbi s nazivima metoda Enumeration Iterator.