Edit : Pardon je n'ai pas vu que j'étais pas dans Java... Mais enfaite cela m'intéresse également s'il y a une différence avec le C(++) et C#...
Bonsoir,
J'aurais une question qui me taraude depuis un certain temps :
Si j'ai une boucle en java qui s'exécute n fois, avec n de grande taille. J'ai à ma disposition une ArrayList de taille n, et je veux effectuer un traitement sur chaque valeur contenue dans ma liste.
Quel est la méthode la moins gourmande / la plus rapide entre ces deux méthode :
Code java : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 public void traitement(ArrayList<Integer> liste) { Integer tmp; for (int i = 0; i < liste.size(); i++) { tmp = liste.get(i); //Traitement sur temp } }
Code java : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 public void traitement(ArrayList<Integer> liste) { for (int i = 0; i < liste.size(); i++) { Integer tmp = liste.get(i); //Traitement sur temp } }
La différence est la déclaration de tmp avant ou pendant la boucle.
Pour ma part j'aurais pensé que la première solution serait la meilleure, mais j'ai vu à beaucoup d'endroit que les gens déclarent leurs variables dans la boucle.
D'où ma question : y a-t-il une différence au final ? Et avec un objet plus complexe ?
Merci !
Partager