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!