salut
avec les nouvelles loop que java 5 a emmené
lequel est supposé être plus peformante?Code:
1
2
3
4
5
6 for(Id idIndexDefinition: idIndexDefinitions){ } for(int i=0;i<idIndexDefinitions.size();i++){ }
meri
Version imprimable
salut
avec les nouvelles loop que java 5 a emmené
lequel est supposé être plus peformante?Code:
1
2
3
4
5
6 for(Id idIndexDefinition: idIndexDefinitions){ } for(int i=0;i<idIndexDefinitions.size();i++){ }
meri
Tout dépend de ta liste idIndexDefinitions.
Plus de détail sur ce forum :
http://www.developpez.net/forums/sho...d.php?t=475035
Sachant que la boucle foreach utilise un Iterator.
je changerais le idIndexDefinitions.size() pour ne pas resoudre le method call a chaque iteration.
en somme, on doit choisir en clareté ou performance
Privilégie la clarté, la performance viendra d'elle.
Si tu veux augmenter la performance d'un for java 5, tu auras meilleur compte, premièrement à réfléchir sur l'environnement que tu dois manipuler, secondairement à travailler sur ta liste ou sur son Iterable.
Le for classique ne doit s'utiliser que lorsque l'on a besoin de l'index d'itération dans le bloc du for : pour la clarté, également.
lol, excuse moi mais "beaucoup" plus rapide.... nous n'avons pas les mêmes valeurs ! Je serais prêt à parier qu'il y a plusieurs autre endroits à optimiser avant d'essayer de grapiller quelques millisecondes sur une boucle for. Il faut garder le sens des réalités.
Je n'appelle pas ça "gagner en performances". Comme dit par giffftane, tu as plus à perdre qu'à gagner si tu perds en clarté.Citation:
en somme, on doit choisir en clareté ou performance
Et au passage, tu n'as pas dit ce qu'était ta liste. C'est un tableau ? Il contient combien d'éléments ?