Javassa an Iteraattori on yksi Java-kursoreista. Java Iterator on käyttöliittymä, jota harjoitetaan iteroimaan Java-objektien komponenttien kokoelma yksitellen. Sitä voi käyttää ilmaiseksi Java-ohjelmointikielellä Java 1.2 Collection -kehyksestä lähtien. Se kuuluu java.util-pakettiin.
Vaikka Java Iterator otettiin käyttöön Java 1.2:ssa, se ei silti ole vanhin käytettävissä oleva työkalu Collection-objektin elementtien läpi kulkemiseen. Java-ohjelmointikielen vanhin iteraattori on Enumeratoria edeltävä Iterator. Java Iterator -käyttöliittymä seuraa enumerator-iteraattoria, jota harjoitettiin alussa käymään läpi joitakin käytettävissä olevia kokoelmia, kuten ArrayLists.
Java Iterator tunnetaan myös nimellä yleinen kohdistin Java, koska se sopii kaikille Collection-kehyksen luokille. Java Iterator auttaa myös toiminnoissa, kuten READ ja REMOVE. Kun vertaamme Java Iterator -liittymää enumeration iterator -liittymään, voimme sanoa, että Java Iteratorissa käytettävissä olevien menetelmien nimet ovat tarkempia ja yksinkertaisempia käyttää.
Java Iteratorin edut
Iterator Javassa tuli hyvin yleiseksi sen lukuisten etujen vuoksi. Java Iteratorin edut esitetään seuraavasti -
- Käyttäjä voi käyttää näitä iteraattoreita mihin tahansa Collection-kehyksen luokkiin.
- Java Iteratorissa voimme käyttää sekä luku- että poistotoimintoja.
- Jos käyttäjä työskentelee for-silmukan kanssa, hän ei voi modernisoida (lisätä/poistaa) kokoelmaa, kun taas, jos hän käyttää Java Iteraattoria, hän voi yksinkertaisesti päivittää kokoelman.
- Java-iteraattoria pidetään Collection API:n yleiskohdistimena.
- Java Iteratorin menetelmänimet ovat erittäin helppoja ja helppokäyttöisiä.
Java Iteratorin haitat
Huolimatta lukuisista eduista, Java Iteratorilla on myös useita haittoja. Java Iteratorin haitat on esitetty alla -
- Java Iterator säilyttää iteroinnin vain eteenpäin. Yksinkertaisesti sanottuna Java Iterator on yksisuuntainen iteraattori.
- Java Iterator ei hyväksy uuden komponentin korvaamista ja laajentamista.
- CRUD-operaatioissa Java-iteraattori ei sisällä erilaisia toimintoja, kuten CREATE ja UPDATE.
- Jakajaan verrattuna Java Iterator ei tue elementtien läpikulkua rinnakkaisessa kuviossa, mikä tarkoittaa, että Java Iterator tukee vain peräkkäistä iteraatiota.
- Spliteratoriin verrattuna Java Iterator ei tue luotettavampaa suoritusta suurien tietomäärien läpikulkua varten.
Kuinka käyttää Java Iteratoria?
Kun käyttäjän on käytettävä Java-iteraattoria, hänen on tehtävä Iterator-rajapinnan ilmentymä objektikokoelmasta, jonka läpi he haluavat kulkea. Tämän jälkeen vastaanotettu Iteraattori ylläpitää taustalla olevan kokoelman komponenttien jäljitystä varmistaakseen, että käyttäjä kulkee objektikokoelman jokaisen elementin yli.
Jos käyttäjä muokkaa taustalla olevaa kokoelmaa kulkiessaan Iteraattorin yli, joka johtaa kyseiseen kokoelmaan, Iteraattori yleensä kuittaa sen ja tekee poikkeuksen seuraavan kerran, kun käyttäjä yrittää saada seuraavan komponentin Iteraattorista.
Java Iterator -menetelmät
Seuraava kuva näyttää täydellisesti Java Iterator -liittymän luokkakaavion. Se sisältää yhteensä neljä menetelmää, jotka ovat:
- hasNext()
- Seuraava()
- Poista()
- forEachRemaining()
The forEachRemaining() menetelmä lisättiin Java 8:aan. Keskustellaan jokaisesta menetelmästä yksityiskohtaisesti.
Jos iteraatiossa ei ole enää elementtejä jäljellä, next()-metodia ei tarvitse kutsua. Yksinkertaisesti sanottuna voimme sanoa, että menetelmää käytetään määrittämään, kutsutaanko next()-metodia vai ei.
Esimerkki Java Iteratorista
Nyt on aika suorittaa Java-ohjelma havainnollistamaan Java Iterator -käyttöliittymän etuja. Alla oleva koodi tuottaa ArrayListin kaupunkien nimistä. Sitten alustamme iteraattorin käyttämällä ArrayListin iterator () -menetelmää. Tämän jälkeen luettelo kuljetetaan edustamaan jokaista elementtiä.
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(); } }
Lähtö:
CityNames elements: Delhi Mumbai Kolkata Chandigarh Noida
Muistettavat kohdat
- Java Iterator on käyttöliittymä, joka on lisätty Java-ohjelmointikieleen Java 1.2 Collection -kehykseen. Se kuuluu java.util-pakettiin.
- Se on yksi Java-kursoreista, joita harjoitellaan kokoelmakehyksen objektien läpi kulkemiseen.
- Java-iteraattoria käytetään kokoelmaobjektin komponenttien iterointiin yksitellen.
- Java Iterator tunnetaan myös Javan universaalina kursorina, koska se sopii kaikille Collection-kehyksen luokille.
- Java Iterator tukee myös toimintoja, kuten READ ja REMOVE.
- Iterator-luokan menetelmänimet ovat erittäin yksinkertaisia ja helppokäyttöisiä verrattuna Enumeration Iteratorin menetelmänimiin.