Anbefalt, 2024

Redaksjonens

Forskjellen mellom Iterator og ListIterator i Java

Iteratoren og ListIterator er de to blant de tre markørene til Java. Både Iterator og ListIterator er definert av Collection Framework i J ava.Util pakke. ListIterator er grensesnittet til Iterator-grensesnittet. Den store forskjellen mellom Iterator og ListIterator er at Iterator kan krysse elementene i samlingen bare i fremoverretning, mens ListIterator kan krysse elementene i en samling både i fremover og bakover .

La oss diskutere noen flere forskjeller mellom Iterator og ListIterator ved hjelp av sammenligningsdiagrammet som er vist nedenfor.

Sammenligningstabel

Grunnlag for sammenligningiteratorListIterator
grunn~~POS=TRUNCIterator kan krysse elementene i en samling bare i fremoverretning.ListIterator kan krysse elementene i en samling i fremover og bakoverretning.
Legg tilIterator kan ikke legge til elementer i en samling.ListIteror kan legge til elementer i en samling.
endreIterator kan ikke endre elementene i en samling.ListIterator kan endre elementene i en samling ved hjelp av settet ().
TraverseIterator kan krysse Kart, Liste og Sett.ListIterator kan bare krysse listobjekter.
HovedsidenIterator 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

  1. 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.
  2. 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.
  3. 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.
  4. Ved hjelp av Iterator kan du krysse alle samlinger som Kart, Liste, Sett. Men ved ListIteror kan du bare krysse Liste implementerte objekter.
  5. 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.

Top