Qu'est-ce qu'Iterator en Java et comment l'utiliser?



Le blog Iterator in Java vous donnera une introduction appropriée à ce qu'est un itérateur et comment les utiliser en Java avec quelques exemples

Si vous travaillez sur un et dites que vous voulez imprimer une séquence, c’est là que Iterator en Java entre en jeu. De cette façon, vous pouvez obtenir la séquence même sans ajouter l'instruction d'impression pour chaque ligne. Alors, découvrons Iterator dans .

Voici les sujets que je traiterai dans ce module:





Commençons!

Qu'est-ce qu'un itérateur?

Java prend principalement en charge quatre curseurs différents. Ce sont à savoir:



  • Énumération
  • Itérateur
  • ListIterator
  • Splitter

Chacun de ces curseurs Java présente certains avantages et inconvénients. Nous allons nous concentrer sur Iterator dans cet article.

Maintenant, qu'est-ce qu'un itérateur en Java?

Itérateur est une interface qui appartient à un framework de collection. Il vous permet de parcourir la collection, d'accéder à l'élément de données et de supprimer les éléments de données de la collection.



comment compiler un programme java

Il est également considéré comme un itérateur universel car vous pouvez l'appliquer à n'importe quel objet. En utilisant un itérateur, vous pouvez effectuer des opérations de lecture et de suppression. Ceci est une version améliorée de Énumération avec les fonctionnalités supplémentaires de la capacité de suppression d'un élément.

Méthodes Java Iterator

L'itérateur Java a 4 méthodes au total. Comprenons-les en détail.

MéthodesLa description
forEachRemaining (Consumeraction)Il effectue les actions sur chacun des éléments jusqu'à ce que et à moins que tous les éléments aient été traités. Aussi jusqu'à ce qu'une exception soit levée par l'action.
hasNext ()Cette Retour une valeur vraie si un nombre élevé d'éléments est rencontré pendant l'itération.
Suivant()Cette Retour l'élément spécifié suivant pendant l'itération.
retirer()Cette méthode rsupprime l'élément courant. Jette IllegalStateException si une tentative est faite pour appeler remove () qui n'est pas précédée d'un appel à next ().
booléen hasNext ()Cela renvoie true si l'itération comporte plus d'éléments.

Exemple:

class Méthode {public static void main (String [] args) ArrayList list = new ArrayList () list.add ('E') list.add ('D') list.add ('U') list.add ('R ') list.add (' E ') list.add (' K ') list.add (' A ') // Itérateur pour parcourir la liste Iterator iterator = list.iterator () System.out.println (' Liste des éléments : ') while (iterator.hasNext ()) System.out.print (iterator.next () +' ') System.out.println ()}}

Sortie: EDUREKA

Jetons un œil à ListIterator en Java.

ListIterator en Java

comment passer par valeur en java

ListIterator en Java est un itérateur qui permet aux utilisateurs de parcourir la collection dans les deux sens. Il contient les méthodes suivantes:

MéthodesMéthode et description
void add (Object obj) Insère obj dans la liste devant l'élément qui sera retourné par le prochain appel à next ().
booléen hasNext () Renvoie true s'il y a l'élément suivant. Sinon, renvoie false.
booléen hasPrevious () Renvoie true s'il existe un élément précédent. Sinon, renvoie false.
Objet suivant () Renvoie l'élément suivant. Une NoSuchElementException est levée s'il n'y a pas l'élément suivant.
int nextIndex( ) Renvoie l'index de l'élément suivant. S'il n'y a pas l'élément suivant, renvoie la taille de la liste.
Objet précédent () Renvoie l'élément précédent. Une NoSuchElementException est levée s'il n'y a pas d'élément précédent.
int previousIndex () Renvoie l'index de l'élément précédent. S'il n'y a pas d'élément précédent, renvoie -1.
void remove () Supprime l'élément actuel de la liste. Une IllegalStateException est levée si remove () est appelée avant que next () ou previous () ne soit appelé.
void set (Object obj) Assigne obj à l'élément courant. Il s'agit du dernier élément renvoyé par un appel à next () ou previous ().

Exemple:

public class Lists {public static void main (String args []) {// Créer une liste de tableaux ArrayList al = new ArrayList () // ajouter des éléments à la liste de tableaux al.add ('E') al.add ('D ') al.add (' U ') al.add (' R ') al.add (' E ') al.add (' K ') al.add (' A ') // Utilisez l'itérateur pour afficher le contenu de al System.out.print ('Contenu original de al:') Iterator itr = al.iterator () while (itr.hasNext ()) {Object element = itr.next () System.out.print (element + '' )} System.out.println () // Modifier les objets en cours d'itération ListIterator litr = al.listIterator () while (litr.hasNext ()) {Object element = litr.next () litr.set (element + '+') } System.out.print ('Contenu modifié de al:') itr = al.iterator () while (itr.hasNext ()) {Object element = itr.next () System.out.print (element + '') } System.out.println () // Maintenant, affichez la liste à l'envers System.out.print ('Liste modifiée à l'envers:') while (litr.hasPrevious ()) {Object element = litr.previous () System.out. print (élément + '')} System.out.println ()}}

Production:

Originalcontenu de al:E D U R E K A
Modifiécontenu de al:EST++U+R+EST+À+ A +
Modifiéliste à l'envers:À+À+EST+R+U++ ET +

quelle est la difference entre git et github

Voyons maintenant les avantages et les limites de cette interface d'itérateur en Java.

Avantages d'Iterator en Java

Iterator en Java présente les avantages suivants.

  • Vous pouvez utiliser ces itérateurs pour n'importe quelle classe Collection.
  • Iterator en Java prend en charge les deux lis aussi bien que retirer opérations.
  • Si vous utilisez pour boucle vous ne pouvez pas mettre à jour (ajouter / supprimer) la collection alors qu'avec l'aide d'un itérateur, vous pouvez facilement mettre à jour la collection.
  • Il s'agit d'un curseur universel pour l'API Collection.
  • Les noms des méthodes sont très simples et très faciles à utiliser.

Limitations d'Iterator en Java

Les itérateurs en Java présentent les inconvénients suivants:

  • Vous ne pouvez effectuer qu'une itération de direction avant, c'est-à-dire un itérateur unidirectionnel.
  • Le remplacement et l'ajout d'un nouvel élément ne sont pas pris en charge par l'itérateur.
  • ListIterator est l'itérateur le plus puissant, mais il ne s'applique qu'aux classes implémentées par List. Ce n'est donc pas un itérateur universel.
  • Lorsque vous utilisez des opérations CRUD, il ne prend pas en charge les opérations de création et de mise à jour.
  • Lorsque vous le comparez avec Spliterator, il ne vous permet pas d'itérer des éléments en parallèle. Cela signifie qu'il ne prend en charge que l'itération séquentielle.
  • Il ne prend pas en charge de meilleures performances pour itérer un grand volume de données.

Cela nous amène à la fin de cet article où nous avons appris comment fonctionne l'itérateur en Java. J'espère que vous êtes clair avec tout ce qui a été partagé avec vous dans ce tutoriel.

Si vous avez trouvé cet article sur «Iterator en Java» pertinent, consultez le une entreprise d'apprentissage en ligne de confiance avec un réseau de plus de 250 000 apprenants satisfaits répartis dans le monde entier.

Nous sommes là pour vous aider à chaque étape de votre voyage, en plus de cela, nous proposons un programme conçu pour les étudiants et les professionnels qui souhaitent devenir développeur Java. Le cours est conçu pour vous donner une longueur d'avance dans la programmation Java et vous former aux concepts Java de base et avancés ainsi qu'à divers frameworks Java tels que Hibernate & Spring.

Si vous rencontrez des questions, n'hésitez pas à poser toutes vos questions dans la section commentaires de «Itérateur en Java» et notre équipe se fera un plaisir de vous répondre.