1. Traversal Direction: ListIterator tillåter programmerarna att iterera listobjekten i båda riktningarna, dvs framåt såväl som bakåtriktning med föregående() och nästa() metod.
Iterator kan användas för att iterera listan,kartlägga och ställa in objekt i en riktning, dvs framåt.
2. Set och karta implementerade objekt Traversal: ListIterator kan användas för att korsa listobjekt endast . Men Iterator kan användas för att korsa karta, lista och ställa implementerade objekt.
till exempel
// listiterator objekt skapas
ListIterator listIteratorObject = lista.listIterator ();// iterator objektet createdIterator iteratorObject = lista.iterator();
3. Lägg till eller ställ in operation vid något index: enligt ListIterator Oracle docs kan
ListIterator ändra listan under iteration med add (E e) , remove () eller set (E E).
Iterator kan inte lägga till elementet under traversal men de kan ta bort elementet från den underliggande samlingen under iterationen eftersom de bara består av remove () – metoden. Det finns ingen add(E E) och set (E E) metod i Iterator.
4. Bestäm iterators nuvarande position: ListIterator kan få iteratorns nuvarande position i listan.Iterator nuvarande position under traversal kan inte bestämmas med hjälp av Iterator.
5. Hämta index av elementet: ListIterator kan erhålla index av elementen med hjälp av previousIndex(E E) eller nextIndex (E e) metoder.Vi kan inte få indexet med Iterator eftersom det inte finns några sådana metoder närvarande.
exempel på Iterator och ListIterator
importera java.util.Iterator;import java.util.ListIterator;Offentlig klass IteratorListIteratorExample {public static void main (sträng args) {
lista 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()); }}}
utgång:
ListIterator objekt utgång i framåtriktning:
Alive är awesomeLove yourself
listiterator object output i bakåtriktning: Love yourselfAlive är fantastiskIterator object output i framåtriktning:FacebookGoogleApplelikheter mellan Iterator och ListIterator i Java
1. Gränssnitt: både Iterator och ListIterator är gränssnitt . ListIterator utökar Iterator gränssnitt.
2. Ram För Insamling : Både Iterator och ListIterator är medlemmar i Java Collection Framework.
3. Traversal: båda används för att iterera över samlingen av objekt .
4. Gränssnitt läggs till i jdk: båda gränssnitten läggs till i JDK i java 1.2
Recap : Skillnad mellan Iterator och ListIterator i Java med exempel
ListIterator | Iterator | |
---|---|---|
Traversal riktning | både framåt och bakåt | framåt |
objekt traversal | endast lista | karta, uppsättning och lista |
Lägg till och ställ in operationer | tillåter båda operationerna | inte möjligt |
iterators nuvarande position | ja , kan bestämmas | inte möjligt. |
hämta Index | Ja | inte möjligt |