Hashmap

Fermé
jj1k Messages postés 30 Date d'inscription jeudi 8 juin 2017 Statut Membre Dernière intervention 3 septembre 2017 - 14 juin 2017 à 01:19
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 14 juin 2017 à 08:23
Bonsoir

je veux remplacer le while par for comment je le fait ?

package list;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;


public class Hash {
   public static void main(String[] args) {

      //La fameuse syntaxe en diamant de Java 7
      Map<Integer, String> hm = new HashMap<>();
      hm.put(10, "1");
      hm.put(20, "2");
      hm.put(30, "3");
      hm.put(40, "4");
      hm.put(50, "5");
      //Ceci va écraser la valeur 5
      hm.put(50, "6");
      
      
      System.out.println("Parcours de l'objet HashMap : ");
      Set<Entry<Integer, String>> setHm = hm.entrySet();
      Iterator<Entry<Integer, String>> it = setHm.iterator();
      while(it.hasNext()){
         Entry<Integer, String> e = it.next();
         System.out.println(e.getKey() + " : " + e.getValue());
      }
      
     
   }
}


Merci

2 réponses

jordane45 Messages postés 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 4 717
14 juin 2017 à 01:24
Bonjour

Drôle d'idée .. mais bon.
regarde ici : https://blog.developpez.com/todaystip/p9440/dev/title_181
0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
14 juin 2017 à 08:23
Pourquoi drôle d'idée ?
Au contraire. Virer du code obsolète depuis Java 5 c'est toujours bon à prendre.
Il aurait même mieux valu ne jamais apprendre les Iterator... ou bien plus tard.

System.out.println("Parcours de l'objet HashMap : ");
for (Entry<Integer, String> e : hm.entrySet()){
    System.out.println(e.getKey() + " : " + e.getValue());
}

Et hop, on divise la taille par 2... L'étape d'après c'est de le faire en 1 ligne.

hm.entrySet().forEach(e -> System.out.println(e.getKey() + " : " + e.getValue()));
0
jj1k Messages postés 30 Date d'inscription jeudi 8 juin 2017 Statut Membre Dernière intervention 3 septembre 2017
14 juin 2017 à 06:24
ok merci
0