Maison > Java > javaDidacticiel > Boucle For ou boucle For-Each : laquelle est la plus performante ?

Boucle For ou boucle For-Each : laquelle est la plus performante ?

DDD
Libérer: 2024-12-19 12:43:09
original
332 Les gens l'ont consulté

For Loop vs. For-Each Loop: Which is More Performant?

Comparaison des performances : boucle for vs boucle for-Each

Dans le domaine des constructions en boucle, la question de la performance se pose souvent, conduisant à une comparaison entre les boucles for et les boucles for-each.

For Loop vs. For-Each Boucle

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

Comparaison des performances

Selon l'article 46 de Joshua Bloch " En Java efficace", il n'y a aucune pénalité de performances pour l'utilisation de la boucle for-each. Au contraire, cela peut même offrir un léger avantage dans certains scénarios.

Raison de l'amélioration des performances

La boucle for-each saute l'étape de calcul de la limite du tableau indexer plusieurs fois. Dans la boucle for, il est calculé à chaque itération. En revanche, la boucle for-each n'effectue ce calcul qu'une seule fois.

Conclusion

Les programmeurs qui recherchent l'efficacité peuvent utiliser soit des boucles for, soit des boucles for-each sans conséquences significatives. préoccupations concernant les performances. Cependant, la simplicité et la lisibilité du code de la boucle for-each en font un choix plus souhaitable dans la plupart des situations.

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