La oss diskutere noen flere forskjeller mellom Iterator og ListIterator ved hjelp av sammenligningsdiagrammet som er vist nedenfor.
Sammenligningstabel
Grunnlag for sammenligning | iterator | ListIterator |
---|---|---|
grunn~~POS=TRUNC | Iterator kan krysse elementene i en samling bare i fremoverretning. | ListIterator kan krysse elementene i en samling i fremover og bakoverretning. |
Legg til | Iterator kan ikke legge til elementer i en samling. | ListIteror kan legge til elementer i en samling. |
endre | Iterator kan ikke endre elementene i en samling. | ListIterator kan endre elementene i en samling ved hjelp av settet (). |
Traverse | Iterator kan krysse Kart, Liste og Sett. | ListIterator kan bare krysse listobjekter. |
Hovedsiden | Iterator har ingen metode for å oppnå en indeks av elementet i en samling. | Ved hjelp av ListIterator kan du få en indeks av elementet i en samling. |
Definisjon av Iterator
Iterator er et grensesnitt i en samlingsramme . Det brukes til å krysse gjennom samlingselementene. Iterator lar deg iterere hvert element i samlingen en etter en, hente elementer fra samlingen eller fjerne elementer fra samlingen. Du kan legge merke til at du ikke kan endre element i en samling ved hjelp av Iterator.
Iterator har en metode iterator () som returnerer iteratoren til starten av samlingen. Når du får en iterator til begynnelsen av en samling, så å krysse elementene i samlingen, etabler en sløyfe som ringer harNeste () hver gang sløyfen detererer. HasNext () hvis returnerer sant betyr det at det neste elementet er der i samlingen, og hvis det returnerer falskt, betyr det at alle elementene blir krysset. Deretter i løkken kan du få hvert element i en samling ved hjelp av neste () . Neste () -metoden returnerer neste element i samlingen.
ulempe:
Ved hjelp av Iterator kan du bare krysse en samling i fremoverretningen.
Ved hjelp av Iterator kan du ikke manipulere eller endre elementene i en samling.
Definisjon av ListIterator
ListIterator er et grensesnitt i et samlingsramme, og det utvider Iterator- grensesnittet. Ved hjelp av ListIterator kan du krysse elementene i samlingen både i fremover og bakover . Du kan også legge til, fjerne eller endre element i samlingen. Kort sagt, vi kan si at det fjerner ulemper med Iterator.
Metodene til ListIterator er som følger:
hasNext () : Hvis returnerer sant, bekrefter at det er flere elementer i en samling.
neste () : Returnerer neste elementer i listen.
nextIndex () : Returnerer indeksen for neste elementer i listen.
har Tidligere () : Returnerer sant hvis det er elementer i omvendt retning i en samling.
forrige () : Returnerer det forrige elementet i en samling.
previousIndex () : Returnerer indeksen for det forrige elementet i en samling.
fjern () : Slett elementet fra en samling.
sett () : Endrer elementet i en samling.
add () : Legger til det nye elementet i en samling.
Viktige forskjeller mellom Iterator og ListIterator
- Den grunnleggende forskjellen mellom Iterator og ListIterator er at begge er markør, Iterator kan krysse elementer i en samling bare i fremoverretning. På den annen side kan ListIterator krysse i både forover og bakover.
- Ved å bruke iterator kan du ikke legge til noe element i en samling. Men ved å bruke ListIterator kan du legge til elementer i en samling.
- Ved hjelp av Iterator kan du ikke fjerne et element i en samling der, som Du kan fjerne et element fra en samling ved hjelp av ListIterator.
- Ved hjelp av Iterator kan du krysse alle samlinger som Kart, Liste, Sett. Men ved ListIteror kan du bare krysse Liste implementerte objekter.
- Du kan hente en indeks av et element ved hjelp av Iterator. Men som List er sekvensiell og indeksbasert, kan du hente en indeks av et element ved å bruke ListIterator.
Konklusjon:
Du kan bruke ListIterator når du må spesielt krysse et List-objekt i både fremover og bakover. Ellers kan du bruke Iterator som den støtter alle typer samlingsobjekter.