foreach en java

foreach en java - Java - Programmation

Marsh Posté le 22-12-2008 à 15:40:46    

Je ne sais pas si ma question à vraiment un sens, mais je me permets de la poser. J'ai une ArrayList d'éléments de type quelconques (par exemple Double). D'après ce que j'ai compris de Java, je peux parcourir cette liste à l'ancienne avec:

Code :
  1. for (int i = 0; i < maListe.size(); ++i)
  2.     System.out.println (maListe.get(i));


ou alors avec l'itérateur

Code :
  1. for (Double x : myListe)
  2.     System.out.println (maListe.get(i));


Ma question est de savoir si les deux méthodes donneront toujours le même ordre dans l'affichage des éléments ? Il me semblait avoir lu quelque part il y a longtemps que l'itérateur garantissait de retourner tous les éléments une seule fois, mais pas forcément dans l'ordre apparent de l'indice (donc dépendant de l'implantation de ArrayList). Malheureusement je n'arrive plus à mettre la main sur cette info. Vous avez une idée s.v.p. ?

Reply

Marsh Posté le 22-12-2008 à 15:40:46   

Reply

Marsh Posté le 22-12-2008 à 16:59:43    

Etant donné le contrat lié à la méthode iterator(), tu peux être sûr que l'ordre de parcourt est le même.

Reply

Marsh Posté le 22-12-2008 à 17:26:14    

leonhard a écrit :

Ma question est de savoir si les deux méthodes donneront toujours le même ordre dans l'affichage des éléments ?


Pour une liste, oui.

 

Accessoirement, le 2e bout de code est complètement faux, ça devrait être:

Code :
  1. for(final double x: myList) {
  2.    System.out.println(x);
  3. }


Message édité par masklinn le 22-12-2008 à 17:27:12

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed