1. Traversal Direction: ListIterator staat de programmeurs toe om de lijstobjecten in beide richtingen te itereren, d.w.z. zowel vooruit als achteruit met behulp van de methode previous() en next ().
Iterator kan worden gebruikt om de lijst,kaart en object in één richting te herhalen, d.w.z. vooruit.
2. Set en Map geà mplementeerde objecten Traversal: ListIterator kan worden gebruikt om lijst object alleen doorkruisen . Maar Iterator kan worden gebruikt om kaart te doorkruisen, lijst en ingestelde objecten.
bijvoorbeeld
/ / ListIterator object wordt aangemaakt
ListIterator listIteratorObject = List.listIterator (); / / Iterator object is createdIterator iteratorObject = List.iterator();
3. Bewerking toevoegen of instellen op elke index: volgens ListIterator Oracle docs kan
ListIterator de lijst wijzigen tijdens iteratie met add ( E e), remove () of set(E e).
Iterator kan het element niet toevoegen tijdens de traversal, maar ze kunnen het element verwijderen uit de onderliggende collectie tijdens de iteratie omdat ze alleen bestaan uit remove() methode. Er is geen add(E e) en set(E e) methode in Iterator.
4. Bepaal de huidige positie van Iterator : ListIterator kan de huidige positie van de iterator in de lijst verkrijgen.De huidige positie van Iterator tijdens de traversal kan niet worden bepaald met behulp van Iterator.
5. Index van het element ophalen: ListIterator kan de index van de elementen verkrijgen met behulp van previousIndex(E e) of nextIndex (E e) methoden.We kunnen de index niet verkrijgen met behulp van Iterator omdat er geen dergelijke methoden aanwezig zijn.
voorbeeld van Iterator en ListIterator
importeren van java.util.Iterator;import java.util.ListIterator;public class IteratorListIteratorExample {public static void main(String args) {
Lijst listObject = new 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 object output in voorwaartse richting:
Alive is awesomeLove jezelf
ListIterator object output in achterwaartse richting:Liefde yourselfAlive is awesomeIterator object output in voorwaartse richting:FacebookGoogleAppleOvereenkomsten tussen Iterator en ListIterator in Java
1. Interfaces: zowel Iterator als ListIterator zijn interfaces . ListIterator breidt Iterator interface uit.
2. Framework Voor Verzameling : Zowel Iterator als ListIterator zijn lid van het Java Collection Framework.
3. Traversal: beide worden gebruikt om te herhalen over de verzameling van objecten .
4. Interfaces toegevoegd aan jdk: beide interfaces worden toegevoegd aan de jdk in java 1.2
Recap : Verschil tussen Iterator en ListIterator in Java met Voorbeeld
ListIterator | Iterator | |
---|---|---|
Traversal Richting | Zowel vooruit en achteruit, | Doorsturen |
Objecten traversal | alleen | Kaart, Stellen en een Lijst van |
Het toevoegen en Instellen activiteiten | Laat beide operaties | niet mogelijk |
de huidige positie van de Iterator | Ja, kan worden bepaald | niet mogelijk. |
ophalen Index | Ja | niet mogelijk |