1. Direction de traversée: ListIterator permet aux programmeurs d’itérer les objets de la liste dans les deux sens, c’est-à-dire vers l’avant et vers l’arrière en utilisant la méthode previous() et next().
L’itérateur peut être utilisé pour itérer la liste, la carte et l’objet défini dans une direction, c’est-à-dire vers l’avant.
2. Définir et cartographier la traversée des objets implémentés: ListIterator peut être utilisé pour parcourir uniquement les objets List. Mais Iterator peut être utilisé pour parcourir la carte, la liste et définir des objets implémentés.
par exemple
// L'objet ListIterator est créé
ListIterator listIteratorObject=List.listIterator(); // L'objet Iterator est créé.Iterator iteratorObject=List.itérateur();
3. Ajouter ou définir une opération à n’importe quel index: Selon les documents Oracle de ListIterator,
ListIterator peut modifier la liste pendant l’itération en utilisant add(E e), remove() ou set(E e).
L’itérateur ne peut pas ajouter l’élément pendant la traversée, mais il peut supprimer l’élément de la collection sous-jacente pendant l’itération car il ne s’agit que de la méthode remove(). Il n’y a pas de méthode add(E e) et set(E e) dans l’Itérateur.
4. Déterminer la position actuelle de l’itérateur : ListIterator peut obtenir la position actuelle de l’itérateur dans la liste.La position actuelle de l’Itérateur pendant la traversée ne peut pas être déterminée à l’aide de l’Itérateur.
5. Récupérer l’index de l’élément: ListIterator peut obtenir l’index des éléments en utilisant les méthodes previousIndex(E e) ou nextIndex(E e).Nous ne pouvons pas obtenir l’index en utilisant l’Itérateur car il n’y a pas de telles méthodes présentes.
Exemple d’Itérateur et de listiterateur
importer java.util.Iterator;import java.util.ListIterator;IteratorListIteratorExample de classe publique { main vide statique publique (arguments de chaîne) {
List listObject = nouvelle liste de tableaux();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()); }}}
Sortie:
Sortie d'objet ListIterator dans le sens avant:
Alive est génial'aimer soi-même
Sortie d'objet ListIterator dans le sens arrière: S'aimeralive est génialSortie d'objet Itérateur dans le sens avant:FacebookGoogleAppleSimilitudes entre Iterator et ListIterator en Java
1. Interfaces : Iterator et ListIterator sont des interfaces. ListIterator étend l’interface de l’itérateur.
2. Cadre de Collecte : Iterator et ListIterator sont tous deux membres du framework de collection Java.
3. Traversée: Les deux sont utilisés pour parcourir la collection d’objets.
4. Interfaces ajoutées au jdk : Les deux interfaces sont ajoutées au jdk dans le récapitulatif java 1.2
: Différence entre Iterator et ListIterator en Java avec Exemple
ListIterator | Itérateur | |
---|---|---|
Direction de traversée | À la fois, en avant et en arrière | En avant |
Parcours d’objets | Liste uniquement | Carte, Ensemble et Liste |
Ajouter et définir des opérations | Permet les deux opérations | Non possible |
La position actuelle de l’itérateur | Oui, peut être déterminée | Impossible. |
Récupérer l’index | Oui | Non possible |