Lorsque l’on développe en Java, on est forcément amené à manipuler des collections (listes, tableaux etc…). Pour ce faire, l’utilisation d’itérateurs (Iterators) est très répandue, mais cela demande des déclarations de variables « éphémères » (je les appelle comme ça) qui ne servent au fond à rien du tout.
Dans cette article, je voulais juste mentionner une syntaxe nettement plus propre, claire et rapide à utiliser qui est l’équivalent de la syntaxe PHP foreach.
Voici une syntaxe « classique » que j’ai retrouvé à de maintes reprises dans divers codes (mais je n’en ai pas parcouru beaucoup) … et qu’on nous apprends à l’école
:
List<MonType> liste = new ArrayList<MonType>(); Iterator<MonType> it = liste.iterator(); MonType objet; while(it.hasNext()){ objet = it.next(); // Manipulations avec l'élément actuel }
Et voici d’autre part la fameuse syntaxe jolie et brève que nous fournit Java depuis sa version 1.5 … c’est exactement pareil que le foreach de PHP, aucune déclaration externe n’est nécessaire !
List<MonType> liste = new ArrayList<MonType>(); for(MonType objet : liste){ // Manipulations avec l'élément actuel dans "objet" }
Petit exemple pratique … fusionnons deux collections (on supposera que deux listes d’objets MonType existent dans liste et liste2) :
for(MonType objet : liste2){ if(!liste.contains(objet)){ liste.add(objet); } }
Et voilà … rendez vos codes encore plus beau grâce à cette syntaxe !
Pingback: Mes 7 articles les plus populaires - Pierre MARTIN