Maison  >  Article  >  Java  >  Java Iterator et Iterable : une analyse approfondie du mécanisme de traversée de la collection Java

Java Iterator et Iterable : une analyse approfondie du mécanisme de traversée de la collection Java

王林
王林avant
2024-02-19 20:36:071048parcourir

Java Iterator 和 Iterable:深入剖析 Java 集合遍历机制

Interface itérateur

Iterator et Iterable en Java sont des interfaces clés du framework de collection Java, qui facilitent le parcours des collections. Dans cet article, l'éditeur PHP Xinyi analysera en profondeur les principes de fonctionnement d'Iterator et Iterable en Java pour aider les lecteurs à mieux comprendre le mécanisme de parcours des collections Java.

  • hasNext() : Vérifiez s'il y a plus d'éléments dans la collection.
  • next() : Renvoie l'élément suivant de la collection.
L'interface

Iterator définit également certaines méthodes facultatives, telles que la méthode remove(), qui est utilisée pour supprimer l'élément actuel de la collection.

Utiliser l'interface Iterator

Une collection peut être parcourue à l'aide de l'interface Iterator en suivant les étapes suivantes :

  1. Récupérez l'objet Iterator de la collection.
  2. Utilisez la méthode hasNext() pour vérifier s'il y a plus d'éléments dans la collection.
  3. S'il y a plus d'éléments, utilisez la méthode next() pour obtenir l'élément suivant.
  4. Répétez les étapes 2 et 3 jusqu'à ce qu'il n'y ait plus d'éléments dans l'ensemble.

Ce qui suit est un exemple de parcours d'une ArrayList à l'aide de l'interface Iterator :

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

public class IteratorExample {

public static void main(String[] args) {
// 创建一个 ArrayList
ArrayList<String> names = new ArrayList<>();

// 向 ArrayList 中添加一些元素
names.add("John");
names.add("Mary");
names.add("Bob");

// 获取 ArrayList 的 Iterator 对象
Iterator<String> iterator = names.iterator();

// 使用 Iterator 对象遍历 ArrayList
while (iterator.hasNext()) {
String name = iterator.next();
System.out.println(name);
}
}
}

Interface itérable

L'interface Iterable est une interface de haut niveau dans le framework de collection Java pour parcourir les collections. Il définit une méthode iterator() qui renvoie un objet Iterator.

Utiliser l'interface Itérable

Une collection peut être parcourue à l'aide de l'interface Itérable en suivant les étapes suivantes :

  1. Récupérez l'objet Itérable de la collection.
  2. Utilisez la méthode iterator() pour obtenir un objet Iterator.
  3. Utilisez des objets Iterator pour parcourir les collections.

Ce qui suit est un exemple de parcours d'une ArrayList à l'aide de l'interface Iterable :

import java.util.ArrayList;
import java.util.Iterable;

public class IterableExample {

public static void main(String[] args) {
// 创建一个 ArrayList
ArrayList<String> names = new ArrayList<>();

// 向 ArrayList 中添加一些元素
names.add("John");
names.add("Mary");
names.add("Bob");

// 获取 ArrayList 的 Iterable 对象
Iterable<String> iterable = names;

// 使用 Iterable 对象获取一个 Iterator 对象
Iterator<String> iterator = iterable.iterator();

// 使用 Iterator 对象遍历 ArrayList
while (iterator.hasNext()) {
String name = iterator.next();
System.out.println(name);
}
}
}

La différence entre les interfaces Iterator et Iterable

Les interfaces Iterator et Iterable sont toutes deux des interfaces permettant de parcourir des collections, mais il existe quelques différences entre elles.

  • Iterator est une interface de bas niveau qui opère directement sur les éléments de la collection.
  • Iterable est une interface de haut niveau qui opère sur les éléments d'une collection via l'interface Iterator.
  • L'interface
  • Iterator définit deux méthodes principales : hasNext()next() et
  • .
  • L'interface iterator()Iterable ne définit qu'une seule méthode :
  • .

Quand utiliser l'interface Iterator et quand utiliser l'interface Iterable

De manière générale, si vous devez opérer directement sur les éléments de la collection, vous pouvez utiliser l'interface Iterator. Si vous avez uniquement besoin de parcourir les éléments d'une collection, vous pouvez utiliser l'interface Iterable.

remove() 方法。如果只需要遍历集合中的元素,则可以使用 Iterable 接口的 iterator()Par exemple, si vous devez supprimer des éléments d'une collection, vous pouvez utiliser la méthode

de l'interface Iterator. Si vous avez uniquement besoin de parcourir les éléments de la collection, vous pouvez utiliser la méthode 🎜 de l'interface Iterable pour obtenir un objet Iterator, puis utiliser l'objet Iterator pour parcourir la collection. 🎜

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer