Quelle est la meilleure façon d'itérer sur la liste

J'ai travaillé à peu près sur de la collection, mais j'ai quelques doutes.

Je suis conscient de ce que nous pouvons itérer liste avec itérateur.

Une autre manière, c'est que nous pouvons traverser comme ci-dessous:

for(int i=0; i<list.size(); i++){
   list.get(i);
}

Ici, je pense qu'il y a problème à chaque fois qu'il fera appel de la liste.taille() qui va construire l'arbre tout entier qui auront un impact sur les performances.

J'ai pensé à une autre solution, par exemple:

int s = list.size();
for(int i=0; i<s; i++){
  list.get(i);
}

Je pense que cela peut résoudre le problème. Je ne suis pas beaucoup plus exposés à enfiler. Je pense que whetherthis devrait être le droit de l'approche ou pas.

Une autre façon de pensée est comme:

for (Object obj; list){

}

Avec cette nouvelle pour la boucle, je pense que le compilateur vérifie à nouveau la taille de la liste.

Veuillez vous donner la meilleure solution ou alternative de la performance efficace. Je vous remercie pour votre aide.

Pourquoi ne list.size() la construction d'un arbre?
La JVM doit gérer le cache de la valeur de la liste.size() de sorte qu'il n'a pas vraiment d'appeler la fonction à chaque fois.

OriginalL'auteur Nimesh | 2015-04-11