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
DDDoriginal
2024-12-19 12:43:09334parcourir

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();
}
for (int i=0; i<objectArrayList.size(); i++) {
    objectArrayList.get(i).DoSomething();
}

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!

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