Maison >Java >javaDidacticiel >Java Iterator vs Iterable : découvrir le secret d'une programmation efficace

Java Iterator vs Iterable : découvrir le secret d'une programmation efficace

王林
王林avant
2024-02-19 22:54:231238parcourir

Java Iterator 与 Iterable:解锁高效编程的秘诀

Java Iterator vs. Iterable : découvrez le secret d'une programmation efficace. Iterator et Iterable en Java sont des interfaces clés couramment utilisées en programmation. Elles peuvent nous aider à réaliser une traversée et des opérations de données efficaces. L'utilisation flexible d'Iterator et Iterable dans la programmation Java peut rendre notre code plus concis et efficace, améliorant ainsi l'efficacité du développement et la qualité du code. Cet article approfondira les conseils d'utilisation et les précautions d'Iterator et Iterable pour aider les lecteurs à mieux comprendre et appliquer ces deux interfaces, améliorant ainsi l'efficacité et la qualité de la programmation.

Iterator est une interface du framework de collection Java utilisée pour parcourir les éléments de collection. Il fournit deux méthodes de base, hasNext() et next(), qui sont utilisées respectivement pour vérifier s'il y a plus d'éléments dans la collection et pour obtenir l'élément suivant. L'interface Iterable est l'interface parent d'Iterator. Elle déclare uniquement la méthode iterator(), qui est utilisée pour renvoyer une nouvelle instance d'Iterator.

Iterator et Iterable sont très simples à utiliser, utilisez simplement l'instruction foreach de Java. L'instruction foreach crée automatiquement une instance Iterator et parcourt tous les éléments de la collection sans avoir à appeler manuellement les méthodes hasNext() et next(). Par exemple :

List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
for (int number : numbers) {
System.out.println(number);
}

Sortie :

List<String> names = Arrays.asList("John", "Mary", "Bob");
Iterator<String> iterator = names.iterator();
while (iterator.hasNext()) {
String name = iterator.next();
System.out.println(name);
}
  • Utilisez Iterable pour créer vos propres objets itérables :
class MyIterable implements Iterable<Integer> {
private List<Integer> numbers;

public MyIterable(List<Integer> numbers) {
this.numbers = numbers;
}

@Override
public Iterator<Integer> iterator() {
return new MyIterator(numbers);
}
}

class MyIterator implements Iterator<Integer> {
private List<Integer> numbers;
private int index = 0;

public MyIterator(List<Integer> numbers) {
this.numbers = numbers;
}

@Override
public boolean hasNext() {
return index < numbers.size();
}

@Override
public Integer next() {
return numbers.get(index++);
}
}

public class Main {
public static void main(String[] args) {
MyIterable iterable = new MyIterable(Arrays.asList(1, 2, 3, 4, 5));
for (int number : iterable) {
System.out.println(number);
}
}
}

Sortie :

1
2
3
4
5

Iterator et Iterable sont deux interfaces très importantes dans le framework de collection Java. Elles fournissent un accès et une traversée efficaces des éléments de collection. En comprenant les concepts et l'utilisation d'Iterator et Iterable, vous pouvez écrire du code Java efficace et élégant.

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