Lad os diskutere nogle flere forskelle mellem Iterator og ListIterator ved hjælp af sammenligningstabel vist nedenfor.
Sammenligningstabel
Grundlag for sammenligning | iterator | ListIterator |
---|---|---|
Grundlæggende | Iterator kan krydse elementerne i en samling kun i fremadgående retning. | ListIterator kan krydse elementerne i en samling både fremad og baglæns. |
Tilføje | Iterator kan ikke tilføje elementer til en samling. | ListIteror kan tilføje elementer til en samling. |
Modificere | Iterator kan ikke ændre elementerne i en samling. | ListIterator kan ændre elementerne i en samling ved hjælp af sæt (). |
Traverse | Iterator kan krydse kort, liste og sæt. | ListIterator kan kun krydse Listeobjekter. |
Indeks | Iterator har ingen metode til at opnå et indeks af elementet i en samling. | Ved hjælp af ListIterator kan du få et indeks for elementet i en samling. |
Definition af Iterator
Iterator er en grænseflade i en samlingsramme . Det bruges til at krydse gennem samlingselementerne. Iterator giver dig mulighed for at gentage hvert element i samlingen en efter én, hente elementer fra samlingen eller fjerne elementer fra samlingen. Du kan bemærke, at du ikke kan ændre noget element i en samling ved hjælp af Iterator.
Iterator har en metode iterator (), der returnerer iteratoren til begyndelsen af samlingen. Når du først får en iterator til starten af en samling, så krydser du elementerne i samlingen, etablerer en loop, der kalder hasNext () hver gang sløjfen gentager. HasNext () hvis returnerer sande betyder det, at det næste element er der i samlingen, og hvis det returnerer falsk, betyder det, at alle elementer er krydset. Derefter inde i løkken kan du få hvert element i en samling ved hjælp af næste () . Den næste () -metode returnerer det næste element i samlingen.
ulempe:
Ved hjælp af Iterator kan du kun krydse en samling i fremadgående retning.
Ved hjælp af Iterator kan du ikke manipulere eller ændre elementerne i en samling.
Definition af ListIterator
ListIterator er en grænseflade i en samlingsramme, og det udvider Iterator- grænsefladen. Ved hjælp af ListIterator kan du krydse elementerne i samlingen både i retning frem og tilbage . Du kan også tilføje, fjerne eller ændre noget element i samlingen. Kort sagt, vi kan sige det fjerner ulemper ved Iterator.
MethodIterator's metoder er som følger:
hasNext () : Hvis returneringer sande bekræfter, at der er flere elementer i en samling.
næste () : Returnerer næste elementer i listen.
nextIndex () : Returnerer indekset for de næste elementer i listen.
har Tidligere () : Returnerer sandt, hvis der er elementer i omvendt retning i en samling.
forrige () : Returnerer det forrige element i en samling.
previousIndex () : Returnerer indeks for det foregående element i en samling.
fjern () : Slet elementet fra en samling.
sæt () : Ændrer elementet i en samling.
add () : Tilføjer det nye element i en samling.
Nøgleforskelle mellem Iterator og ListIterator
- Den grundlæggende forskel mellem Iterator og ListIterator er, at begge er markør, Iterator kan krydse elementer i en samling kun i fremadrettet retning. På den anden side kan ListIterator krydse i både fremad og bagud retning.
- Ved hjælp af iterator kan du ikke tilføje noget element til en samling. Men ved at bruge ListIterator kan du tilføje elementer til en samling.
- Ved hjælp af Iterator kan du ikke fjerne et element i en samling, hvor, som Du kan fjerne et element fra en samling ved hjælp af ListIterator.
- Ved hjælp af Iterator kan du krydse alle samlinger som Map, List, Set. Men ved ListIteror kan du kun gennemgå Liste implementerede objekter.
- Du kan hente et indeks for et element ved hjælp af Iterator. Men da List er sekventiel og indeksbaseret, kan du hente et indeks for et element ved brug af ListIterator.
Konklusion:
Du kan bruge ListIterator, når du er nødt til at krydse et listeobjekt i både fremad og omvendt retning. Ellers kan du bruge Iterator, da det understøtter alle typer samlingsobjekter.