Maison > Java > javaDidacticiel > Quelle est la différence entre Iterator et ListIterator en Java ?

Quelle est la différence entre Iterator et ListIterator en Java ?

青灯夜游
Libérer: 2019-03-16 15:10:57
original
5110 Les gens l'ont consulté

Iterator et ListIterator sont deux des trois curseurs en Java, tous deux définis par le framework de collection dans le package Java.UTIL. Alors, quelle est la différence entre eux ? L'article suivant vous présentera la différence entre Iterator et ListIterator. J'espère qu'il vous sera utile.

Quelle est la différence entre Iterator et ListIterator en Java ?

Qu'est-ce qu'Iterator

Iterator représente un itérateur et est une interface dans le framework Collection ? utiliser Pour parcourir les éléments de la collection. Il permet de parcourir 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, mais il n'est pas possible de modifier un élément de la collection à l'aide d'un itérateur.

Iterator a une méthode iterator() qui renvoie l'itérateur au début de la collection. Une fois que vous avez obtenu un itérateur au début de la collection, puis que vous parcourez les éléments de la collection, configurez une boucle et appelez hasNext() à chaque itération de la boucle.

hasNext() S'il renvoie vrai, cela signifie qu'il y a l'élément suivant dans la collection ; s'il renvoie faux, cela signifie que tous les éléments sont parcourus. Ensuite, dans la boucle, vous pouvez utiliser next() pour obtenir chaque élément de la collection. La méthode next() renvoie l'élément suivant de la collection.

Inconvénients :

● Avec Iterator, vous ne pouvez qu'avancer la collection.

● En utilisant Iterator, vous ne pouvez pas manipuler ou modifier les éléments de la collection.

Qu'est-ce que ListIterator ?

ListIterator est une interface dans le framework Collection, elle est utilisée pour étendre l'interface Iterator. À l’aide de ListIterator, vous pouvez parcourir les éléments d’une collection en avant et en arrière. Vous pouvez également ajouter, supprimer ou modifier n'importe quel élément de la collection. Bref, on peut dire que cela élimine les inconvénients d’Iterator.

Les méthodes de ListIterator sont les suivantes :

●hasNext() : Si true est renvoyé, il est confirmé qu'il y a plus d'éléments dans la collection.

●next() : Renvoie l'élément suivant de la liste.

● NextIndex() : Renvoie l'index de l'élément suivant dans la liste.

● HasPrevious() : renvoie true s'il y a un élément opposé dans l'ensemble.

● previous() : Renvoie l'élément précédent de la collection.

● previousIndex() : Renvoie l'index de l'élément précédent dans la collection.

● Remove() : Supprime des éléments de la collection.

●set() : Modifier les éléments de l'ensemble.

● Add() : Ajouter de nouveaux éléments à la collection.

La principale différence entre Iterator et ListIterator

1. Traversal

En utilisant Iterator, vous pouvez parcourir toutes les collections, telles que comme Map, List, Set ; mais ne peut parcourir les éléments de l'ensemble que vers l'avant.

En utilisant ListIterator, vous ne pouvez parcourir que les objets implémentés par List, mais vous pouvez parcourir les éléments de la collection en avant et en arrière.

2. Ajouter des éléments

Iterator ne peut pas ajouter d'éléments à la collection, cependant, ListIteror peut ajouter des éléments à la collection ;

3. Modifier des éléments

Iterator ne peut pas modifier les éléments de la collection, cependant, ListIterator peut utiliser set() pour modifier les éléments de la collection ;

4. Index

Iterator ne peut pas obtenir l'index des éléments de la collection, cependant, en utilisant ListIterator, vous pouvez obtenir l'index des éléments de la collection ;

Tutoriels vidéo recommandés : "Tutoriel Java"

Ce qui précède est l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'apprentissage de chacun. Pour un contenu plus passionnant, vous pouvez prêter attention aux colonnes de didacticiels pertinentes du site Web PHP chinois ! ! !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal