Priporočena, 2024

Izbira Urednika

Razlika med Iteratorjem in ListIteratorjem v Javi

Iterator in ListIterator sta med tremi puščicami Jave. Iterator in ListIterator sta določena z okvirom zbirke v paketu J ava.Util . ListIterator je otroški vmesnik vmesnika Iterator. Glavna razlika med Iteratorjem in ListIteratorjem je, da lahko Iterator premika elemente v zbirki le v smeri naprej, medtem ko lahko ListIterator premakne elemente v zbirki tako v smeri naprej kot nazaj .

Oglejmo si še nekaj razlik med Iteratorjem in ListIteratorjem s pomočjo primerjalne tabele, prikazane spodaj.

Primerjalna tabela

Podlaga za primerjavoIteratorListIterator
OsnovnoIterator lahko prečka elemente v zbirki samo v smeri naprej.ListIterator lahko premakne elemente v zbirki naprej in nazaj.
DodajIterator ne more dodati elementov v zbirko.ListIteror lahko doda elemente v zbirko.
SpremeniIterator ne more spremeniti elementov v zbirki.ListIterator lahko spremeni elemente v zbirki z uporabo set ().
PremakniIterator lahko prečka zemljevid, seznam in niz.ListIterator lahko prečka samo predmete seznama.
IndeksIterator nima metode za pridobitev indeksa elementa v zbirki.Z uporabo ListIterator lahko dobite indeks elementa v zbirki.

Opredelitev Iteratorja

Iterator je vmesnik v okviru za zbiranje . Uporablja se za prečkanje elementov zbiranja. Iterator vam omogoča, da vsak element zbirke ponovite enega za drugim, pridobite elemente iz zbirke ali odstranite elemente iz zbirke. Lahko opazite, da ne morete spremeniti nobenega elementa v zbirki z Iteratorjem.

Iterator ima metodo iterator (), ki vrne iterator na začetek zbirke. Ko dobite iterator za začetek zbirke, potem za prečkanje elementov v zbirki vzpostavite zanko, ki kliče hasNext () vsakič, ko se zanka ponovi. HasNext (), če vrne true, pomeni, da je naslednji element v zbirki in če vrne false, pomeni, da so vsi elementi prečkani. Nato znotraj zanke lahko vsak element v zbirki pridobite z naslednjim () . Metoda next () vrne naslednji element zbirke.

Slabost:

Z uporabo Iteratorja lahko zbirko premaknete samo v smeri naprej.
Z uporabo Iteratorja elementov v zbirki ne morete manipulirati ali spreminjati.

Opredelitev ListIteratorja

ListIterator je vmesnik v okviru zbirke in razširja vmesnik Iterator . Z uporabo ListIteratorja lahko elemente zbirke prečkate v smeri naprej in nazaj . Dodate lahko, odstranite ali spremenite kateri koli element v zbirki. Skratka, lahko rečemo, da odpravlja pomanjkljivosti Iteratorja.

Metode ListIteratorja so naslednje:

hasNext () : Če vrne true, potrdi, da je v zbirki več elementov.
next () : Vrne naslednje elemente seznama.
nextIndex () : Vrne indeks naslednjih elementov na seznamu.
hasPrevious () : Vrne true, če so v zbirki elementi v obratni smeri.
previous () : Vrne prejšnji element v zbirki.
previousIndex () : Vrne indeks prejšnjega elementa v zbirki.
remove () : Izbrišite element iz zbirke.
set () : Spremeni element v zbirki.
add () : doda nov element v zbirko.

Ključne razlike med Iteratorjem in ListIteratorjem

  1. Osnovna razlika med Iteratorjem in ListIteratorjem je, da sta oba kazalca, Iterator lahko premika elemente v zbirki samo v smeri naprej. Po drugi strani pa lahko ListIterator prečka v obe smeri naprej in nazaj.
  2. Z uporabo iteratorja ne morete dodati nobenega elementa v zbirko. Z uporabo ListIteratorja lahko dodate elemente v zbirko.
  3. Z uporabo Iteratorja elementa v zbirki ne morete odstraniti, kjer lahko, kot lahko iz elementa ListIterator odstranite element iz zbirke.
  4. Z uporabo Iteratorja lahko prečkate vse zbirke, kot so Map, List, Set. Vendar lahko ListIteror samo prečkate implementirane objekte seznama.
  5. S pomočjo Iteratorja lahko poiščete indeks elementa. Ker pa je seznam zaporeden in temelji na indeksu, lahko poiščete indeks elementa s pomočjo seznama ListIterator.

Sklep:

ListIterator lahko uporabite, ko morate še posebej prečkati objekt List v smeri naprej in nazaj. V nasprotnem primeru lahko uporabite Iterator, saj podpira vse vrste zbirk objektov.

Top