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