1. Gennemløbsretning: ListIterator giver programmørerne mulighed for at gentage listeobjekterne i begge retninger, dvs.fremad såvel som bagud ved hjælp af tidligere() og næste() metode.
Iterator kan bruges til at gentage listen,kortlægge og indstille objektet i en retning, dvs.fremad.
2. Sæt og kort implementerede objekter Traversal: ListIterator kan kun bruges til at krydse Listeobjekt . Men Iterator kan bruges til at krydse kort, liste og indstille implementerede objekter.
for eksempel
// ListIterator objekt oprettes
ListIterator listIteratorObject = liste.listIterator ();// Iterator objekt er createdIterator iteratorObject = liste.iterator();
3. Tilføj eller Indstil operation ved ethvert indeks: ifølge ListIterator Oracle docs kan
ListIterator ændre listen under iteration ved hjælp af add(E e), remove() eller set(E E).
Iterator kan ikke tilføje elementet under traversal, men de kan fjerne elementet fra den underliggende samling under iterationen, da de kun består af fjern() metode. Der er ingen add(E e) og set (E e) metode i Iterator.
4. Bestem Iteratorens aktuelle position: ListIterator kan få iteratorens aktuelle position på listen.Iterators aktuelle position under traversal kan ikke bestemmes ved hjælp af Iterator.
5. Hent indeks for elementet: ListIterator kan få indekset for elementerne ved hjælp af tidligere indeks(E e) eller næste indeks(E e) metoder.Vi kan ikke få indekset ved hjælp af Iterator, da der ikke er sådanne metoder til stede.
eksempel på Iterator og ListIterator
import java.util.Iterator;import java.util.ListIterator;offentlig klasse iteratorlistiteratoreksempel {offentlig statisk void main (String args) {
List listObject = ny ArrayList();listObject.add("Alive is awesome"); listObject.add("Love yourself");ListIterator listIteratorObject = listObject.listIterator();System.out.println("ListIterator object output in forward direction:");System.out.println("");while( listIteratorObject.hasNext() ) { System.out.println(listIteratorObject.next()); }System.out.println("ListIterator object output in backward direction:");System.out.println("");while( listIteratorObject.hasPrevious() ) { System.out.println(listIteratorObject.previous()); } List iteratorListObject = new ArrayList(); iteratorListObject.add("Facebook"); iteratorListObject.add("Google"); iteratorListObject.add("Apple"); Iterator javaHungryIterator = iteratorListObject.iterator();System.out.println("Iterator object output in forward direction:");while( javaHungryIterator.hasNext() ) { System.out.println(javaHungryIterator.next()); }}}
Output:
ListIterator objekt output i fremadgående retning:
Alive er fantastiskelsk dig selv
ListIterator objekt output i baglæns retning: Elsk dig selvalive er fantastiskIterator objekt output i fremadretning:Facebookgoogleanappleligheder mellem Iterator og ListIterator i Java
1. Grænseflader: både Iterator og ListIterator er grænseflader . ListIterator udvider Iterator interface.
2. Indsamlingsramme : Både Iterator og ListIterator er medlem af Java Collection-rammen.
3. Traversal: begge bruges til at gentage over samlingen af objekter .
4. Grænseflader tilføjet til jdk: begge grænseflader tilføjes til jdk i java 1.2
Recap : Forskel mellem Iterator og ListIterator i Java med eksempel
ListIterator | Iterator | |
---|---|---|
Traversal retning | både fremad og bagud | fremad |
objekter traversal | kun Liste | kort, sæt og liste |
Tilføj og indstil operationer | tillader begge operationer | ikke muligt |
Iteratorens aktuelle position | ja , kan bestemmes | ikke mulig. |
Hent indeks | Ja | ikke muligt |