Bonjour,
Entre un iterator et une boucle (boucle for, while, do/while) en java, lequel est
le plus rapide?
Bonjour,
Entre un iterator et une boucle (boucle for, while, do/while) en java, lequel est
le plus rapide?
Pour un ArrayList, les performances seront très légèrement meilleures avec un for, mais ca reste vraiment marginal.
Par contre si tu as une liste chainée, les performances vont devenir catastrophique si tu utilises le for directement au lieu d'un itérateur.
Je manière générale mieux vaut utiliser foreach ou l'itérateur, a moins d'être sur de ce que tu fais.
Salut et merci pour ta réponse,
est ce qu'il est possible par exemple dans une ArrayList de changer dynamiquement un élément de cette liste.
Je pense à un truc comme :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 for (MyObject o : ArrayList<MyObject>){ if (o.getName().equals("un nom passé en param")){ o.setVisibility (false); } }
Comme l'a spécifié Uther pour une liste RandomAccess (ArrayList par exemple), la boucle for la plus rapide est de la forme
Sinon faut utiliser Iterator pour une Collection don't tu ne sais pas vraiment son type réel.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 for(int i = 0, size = list.size(); i < size; i++) { MyObject o = (MyObject) list.get(i); //...etc }
Bah ok merci pour l'info
N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
A noter que le foreach reviens exactement à la même chose qu'utiliser un Iterateur.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager