Maison  >  Article  >  Java  >  Comment utiliser la fonction Iterator en Java pour le parcours de collection

Comment utiliser la fonction Iterator en Java pour le parcours de collection

WBOY
WBOYoriginal
2023-06-26 15:47:123794parcourir

En Java, une collection est une structure de données commune qui nous permet de stocker et de traiter de grandes quantités de données. Dans de nombreux cas, nous devons parcourir une collection afin d’opérer sur ses éléments. Pour atteindre cet objectif, Java fournit la fonction Iterator, qui nous permet de parcourir facilement les éléments de la collection. Dans cet article, nous expliquerons comment utiliser la fonction Iterator en Java pour le parcours de collection.

1. Définition de la fonction Iterator

En Java, Iterator est une interface "itérateur", qui définit un ensemble de méthodes pouvant être utilisées pour parcourir des éléments dans un élément de collection . L'interface Iterator définit cinq méthodes :

  1. boolean hasNext() : S'il y a encore des éléments qui peuvent être parcourus, retournez true sinon, retournez false ;
  2. E next() : Renvoie l'élément suivant.
  3. void remove() : Supprime le dernier élément renvoyé par l'itérateur de la collection (opération facultative).
  4. void forEachRemaining(Consumer0d74ac1b2f8f9ab0eb66f930789a9645 action) : parcourez les éléments restants de la collection et effectuez l'opération spécifiée.
  5. default void forEachRemaining(Consumer0d74ac1b2f8f9ab0eb66f930789a9645 action) : Une nouvelle méthode introduite dans Java 8 qui lancera une NullPointerException lorsqu'il n'y a pas d'opération donnée.

2. Utilisation de la fonction Iterator

La fonction Iterator est généralement utilisée avec une boucle while pour parcourir les éléments d'une collection. Voici un exemple de programme utilisant la fonction Iterator :

import java.util.ArrayList;
import java.util.Iterator;

public class IteratorExample {
    public static void main(String[] args) {

        // 创建一个包含整数(Integer)的数组列表
        ArrayList<Integer> numbers = new ArrayList<Integer>();

        // 添加元素
        numbers.add(1);
        numbers.add(2);
        numbers.add(3);

        // 获取迭代器
        Iterator<Integer> it = numbers.iterator();

        // 遍历元素
        while(it.hasNext()) {
            Integer number = it.next();
            System.out.println(number);
        }
    }
}

Dans ce programme, nous créons d'abord une collection ArrayList et y ajoutons des entiers. Ensuite, nous obtenons l’itérateur de l’ArrayList en appelant la méthode iterator. Ensuite, nous utilisons une boucle while pour parcourir les éléments de la collection jusqu'à ce qu'il n'y ait plus d'éléments sur lesquels parcourir. Dans la boucle, nous utilisons la méthode it.hasNext() pour vérifier s'il y a d'autres éléments à parcourir. Si c’est le cas, nous utilisons la méthode it.next() pour obtenir l’élément suivant. Dans cet exemple, nous utilisons la méthode System.out.println pour afficher la valeur de chaque élément.

3. Comparaison entre la fonction Iterator et la boucle for-each

Pour parcourir les collections, la fonction Iterator et la boucle for-each sont les deux méthodes les plus couramment utilisées. Avant Java 5, parcourir une collection à l'aide de la fonction Iterator était la seule option. Cependant, à partir de Java 5, la boucle for-each a été introduite, ce qui rend le parcours des collections plus simple et plus pratique. Ce qui suit compare les différences entre la fonction Iterator et la boucle for-each :

  1. Syntax

La syntaxe de la fonction Iterator est meilleure que celle de la boucle for-each. La syntaxe est plus complexe. Cela nous oblige d’abord à obtenir l’itérateur, puis à parcourir les éléments en appelant les méthodes hasNext() et next(). En comparaison, la syntaxe de la boucle for-each est plus concise et une seule variable est nécessaire pour représenter chaque élément de l'itérateur.

  1. Efficiency

Dans de nombreux cas, la fonction Iterator est plus efficace que la boucle for-each. En effet, la fonction Iterator nous permet de supprimer des éléments tout en les parcourant. De plus, pour certains types de collections, telles que LinkedList, l'utilisation de la fonction Iterator pour parcourir est plus rapide que la boucle for-each.

  1. Function

La fonction Iterator fournit certaines fonctions que la boucle for-each n'a pas. Par exemple, la fonction Iterator nous permet d'utiliser la méthode remove() pour supprimer des éléments lors du parcours de la collection.

4. Résumé

En utilisant la fonction Iterator en Java, nous pouvons facilement parcourir les éléments de la collection. Que ce soit en utilisant une boucle while ou une boucle for-each, nous pouvons utiliser la fonction Iterator pour parcourir la collection. Bien que la syntaxe de la fonction Iterator soit relativement complexe, dans certains cas, elle est plus efficace et possède plus de fonctions que la boucle for-each. Par conséquent, lorsque nous parcourons une collection, nous devons utiliser de manière flexible deux méthodes et choisir laquelle utiliser en fonction de la situation réelle.

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!

Déclaration:
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