Keskustelkaa muutamasta erosta Iteratorin ja ListIteratorin välillä alla olevan vertailukaavion avulla.
Vertailukaavio
Vertailun perusteet | Iterator | ListIterator |
---|---|---|
perustiedot | Iteraattori voi siirtää kokoelman elementtejä vain eteenpäin. | ListIterator voi siirtää elementtejä kokoelmassa eteenpäin ja taaksepäin. |
Lisätä | Iterator ei pysty lisäämään elementtejä kokoelmaan. | ListIteror voi lisätä elementtejä kokoelmaan. |
Muuttaa | Iterator ei voi muokata kokoelman elementtejä. | ListIterator voi muokata kokoelman elementtejä asetuksella (). |
poikittainen | Iterator voi kulkea kartalla, luettelolla ja asetuksella. | ListIterator voi kulkea vain luettelossa olevien objektien luettelossa. |
Indeksi | Iteraattorilla ei ole menetelmää kerätäksesi elementin indeksin. | ListIteratorin avulla voit saada kokoelman elementin indeksin. |
Määritelmä Iterator
Iterator on rajapinta kokoelmakehyksessä . Sitä käytetään keräyselementtien läpi kulkemiseen. Iteratorin avulla voit erottaa jokaisen kokoelman elementin yksitellen, hankkia elementtejä kokoelmasta tai poistaa elementtejä kokoelmasta. Voit huomata, että et voi muokata kokoelman elementtiä Iteratorin avulla.
Iteratorissa on menetelmä iteraattori (), joka palauttaa iteraattorin kokoelman alkuun. Kun saat iteratorin kokoelman alkuun, siirry kokoelman elementteihin luomaan silmukka, joka kutsuu onNext () joka kerta, kun silmukka iteroi. IsNext (), jos palaa totta, tarkoittaa sitä, että seuraava elementti on kokoelmassa, ja jos se palaa vääriä, se tarkoittaa, että kaikki elementit kulkevat. Sitten silmukan sisällä voit hankkia jokaisen elementin kokoelmassa käyttämällä seuraavaa () . Seuraava () menetelmä palauttaa kokoelman seuraavan elementin.
haittapuoli:
Iteratorin avulla voit siirtää kokoelman vain eteenpäin.
Iteratorilla ei voi käsitellä tai muokata kokoelman elementtejä.
Määritelmä ListIterator
ListIterator on kokoelma- rajapinta, ja se laajentaa Iterator- käyttöliittymää. ListIteratorin avulla voit siirtää kokoelman elementtejä sekä eteenpäin että taaksepäin . Voit myös lisätä, poistaa tai muokata kokoelman elementtejä. Lyhyesti sanottuna voimme sanoa, että se poistaa Iteratorin haitat.
ListIteratorin menetelmät ovat seuraavat:
hasNext () : Jos palauttaa tosi, se vahvistaa, että kokoelmassa on enemmän elementtejä.
seuraava () : Palauttaa luettelon seuraavat elementit.
nextIndex () : Palauttaa luettelon luettelon seuraavista elementeistä.
hasPrevious () : Palauttaa totta, jos kokoelmassa on elementtejä käänteisessä suunnassa.
previous () : Palauttaa kokoelman edellisen elementin.
previousIndex () : Palauttaa kokoelman edellisen elementin indeksin.
poista () : Poista elementti kokoelmasta.
set () : Muuttaa kokoelman elementtiä.
add () : Lisää uuden elementin kokoelmaan.
Iteraattorin ja ListIteratorin keskeiset erot
- Perusero Iteratorin ja ListIteratorin välillä on, että molemmat ovat kohdistin, Iterator voi siirtää kokoelman elementtejä vain eteenpäin. Toisaalta ListIterator voi kulkea sekä eteenpäin että taaksepäin.
- Iteratorin avulla ei voi lisätä elementtejä kokoelmaan. ListIteratorin avulla voit kuitenkin lisätä elementtejä kokoelmaan.
- Iteratorin avulla et voi poistaa elementtiä kokoelmasta, jossa, kuten Voit poistaa elementin kokoelmasta ListIteratorin avulla.
- Iteratorin avulla voit siirtyä kaikkiin kokoelmiin, kuten Map, List, Set. ListIterorin avulla voit kuitenkin kuljettaa luettelon vain toteutetuista kohteista.
- Voit hakea elementin indeksin käyttämällä Iteratoria. Mutta koska luettelo on peräkkäinen ja hakemistopohjainen, voit hakea luettelon elementistä ListIteratorin avulla.
johtopäätös:
Voit käyttää ListIterator-laitetta, kun sinun on erityisesti kuljettava List-objektia sekä eteenpäin että taaksepäin. Muuten voit käyttää Iteratoria, koska se tukee kaikkia tyyppikokoelmaobjekteja.