Laissez-nous discuter de quelques autres différences entre Iterator et ListIterator à l’aide du tableau de comparaison ci-dessous.
Tableau de comparaison
Base de comparaison | Itérateur | ListIterator |
---|---|---|
De base | L'itérateur peut parcourir les éléments d'une collection uniquement vers l'avant. | ListIterator peut parcourir les éléments d'une collection en avant comme en arrière. |
Ajouter | Iterator est incapable d'ajouter des éléments à une collection. | ListIteror peut ajouter des éléments à une collection. |
Modifier | Itérateur ne peut pas modifier les éléments d'une collection. | ListIterator peut modifier les éléments d'une collection à l'aide de set (). |
traverser | Itérateur peut parcourir Map, List et Set. | ListIterator peut uniquement traverser des objets List. |
Indice | Itérateur n'a pas de méthode pour obtenir un index de l'élément dans une collection. | À l'aide de ListIterator, vous pouvez obtenir un index de l'élément dans une collection. |
Définition d'Iterator
Iterator est une interface dans un framework de collection . Il est utilisé pour parcourir les éléments de la collection. Iterator vous permet d’itérer chaque élément de la collection un par un, d’ obtenir des éléments de la collection ou de supprimer des éléments de la collection. Vous pouvez remarquer que vous ne pouvez modifier aucun élément dans une collection avec Iterator.
Itérateur a une méthode iterator () qui renvoie l'itérateur au début de la collection. Une fois que vous obtenez un itérateur au début d'une collection, puis parcourez les éléments de la collection et établissez une boucle qui appelle hasNext () à chaque fois que la boucle effectue une itération. Si hasNext () renvoie true, cela signifie que le prochain élément est présent dans la collection. S'il renvoie false, cela signifie que tous les éléments sont parcourus. Ensuite, à l'intérieur de la boucle, vous pouvez obtenir chaque élément d'une collection en utilisant next () . La méthode next () renvoie l'élément suivant de la collection.
Inconvénient:
En utilisant Iterator, vous pouvez parcourir une collection dans le sens avant uniquement.
En utilisant Iterator, vous ne pouvez pas manipuler ou modifier les éléments d’une collection.
Définition de ListIterator
ListIterator est une interface dans un cadre Collection et étend l'interface Iterator . À l'aide de ListIterator, vous pouvez parcourir les éléments de la collection dans les deux sens. Vous pouvez également ajouter, supprimer ou modifier tout élément de la collection. En bref, on peut dire que cela supprime les inconvénients d'Iterator.
Les méthodes de ListIterator sont les suivantes:
hasNext () : Si renvoie vrai, confirme qu'il y a plus d'éléments dans une collection.
next () : renvoie les éléments suivants de la liste.
nextIndex () : renvoie l'index des éléments suivants de la liste.
hasPrevious () : renvoie true s'il y a des éléments dans le sens inverse d'une collection.
previous () : renvoie l'élément précédent d'une collection.
previousIndex () : renvoie l'index de l'élément précédent d'une collection.
remove () : supprime l'élément d'une collection.
set () : Modifie l'élément dans une collection.
add () : ajoute le nouvel élément dans une collection.
Différences clés entre Itérateur et ListIterator
- La différence fondamentale entre Iterator et ListIterator réside dans le fait que les deux étant des curseurs, Iterator peut parcourir les éléments d'une collection uniquement dans le sens aller. D'autre part, le ListIterator peut se déplacer dans les deux sens.
- En utilisant itérateur, vous ne pouvez ajouter aucun élément à une collection. Mais, en utilisant ListIterator, vous pouvez ajouter des éléments à une collection.
- À l'aide d'Iterator, vous ne pouvez pas supprimer un élément d'une collection, car Vous pouvez supprimer un élément d'une collection à l'aide de ListIterator.
- À l'aide d'Iterator, vous pouvez parcourir toutes les collections telles que Map, List, Set. Mais, par ListIteror, vous pouvez uniquement parcourir les objets implémentés de List.
- Vous pouvez récupérer l'index d'un élément en utilisant Iterator. Mais comme List est séquentiel et basé sur l'index, vous pouvez récupérer l'index d'un élément en utilisant ListIterator.
Conclusion:
Vous pouvez utiliser ListIterator lorsque vous devez particulièrement traverser un objet List dans les deux sens. Sinon, vous pouvez utiliser Iterator car il supporte tous les objets de collection de types.