Maison > Java > javaDidacticiel > Boucle For ou boucle For-Each : laquelle est la plus rapide pour itérer en Java ?

Boucle For ou boucle For-Each : laquelle est la plus rapide pour itérer en Java ?

Linda Hamilton
Libérer: 2024-12-17 06:19:24
original
617 Les gens l'ont consulté

For Loop vs. For-Each Loop: Which is Faster for Iterating in Java?

Comparaison des performances de la boucle for par rapport à la boucle for-each

L'optimisation des performances du code est cruciale en programmation. Lorsqu'ils parcourent une liste d'objets, les développeurs sont généralement confrontés à un dilemme entre l'utilisation d'une boucle for traditionnelle et d'une boucle for-each.

Considérez les deux boucles suivantes :

for (Object o : objectArrayList) {
    o.DoSomething();
}
Copier après la connexion
for (int i=0; i<objectArrayList.size(); i++) {
    objectArrayList.get(i).DoSomething();
}
Copier après la connexion

Quelle boucle s'exécute plus rapidement ?

Selon l'article 46 de Effective Java de Joshua Bloch, il y a aucune différence de performance perceptible entre les deux boucles. En fait, la boucle for-each peut légèrement surpasser la boucle for dans des scénarios spécifiques.

La boucle for-each élimine le code passe-partout et les erreurs potentielles en masquant l'itérateur ou la variable d'index. La syntaxe, qui se lit comme "pour chaque élément e dans les éléments", simplifie la lisibilité du code.

De plus, Bloch note que la boucle for-each ne calcule la limite de l'index du tableau qu'une seule fois, ce qui élimine une performance potentielle goulot d'étranglement présent dans les boucles for écrites manuellement.

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!

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal