Boucle for Vs While sur un Iterator
Bonjour,
Etant à court d'arguments à présenter à mon équipe, je m'adresse à vous pour m'aider à dresser les points positifs et négatifs sur l'utilisation des boucles sur les iterators.
En gros, je pars du code suivant :
Code:
1 2
|
List<String> amis = ... |
Du coup, je peux parcourir la liste avec un while :
Code:
1 2 3 4 5 6
|
Iterator it = amis.iterator();
while(it.hasNext()) {
String ami = it.next();
// doFoo(ami)...
} |
Ou avec un for :
Code:
1 2 3 4 5
|
for(Iterator it = amis.iterator(); it.hasNext();) {
String ami = it.next();
// doFoo(ami)...
} |
Le while semble mieux coller à la logique (à débattre) mais le for permet de limiter la portée de l'iterator.
Je précise que, dans certains cas, je suis bien obligé de travailler avec un iterator car la lib qu'on utilise nous renvoie directement un iterator et non une liste :
Code:
1 2
|
Iterator it = monService.foo(); |
Sinon j'aurais bien entendu fais un for comme suit :
Code:
1 2 3 4
|
for(String ami : amis) {
doFoo(ami)...
} |
Alors toutes les bonnes remarques sont les bienvenues