Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Collection et Stream Java Discussion :

Parcours d'une HashMap (java)


Sujet :

Collection et Stream Java

  1. #1
    Futur Membre du Club
    Parcours d'une HashMap (java)
    Bonjour je souhaite parcourir une hashMap:
    j'ai dans un premier temps récupéré les clé de ma hashMap avec get et ensuite sur ces clés (que j'ai mis dans une autre table de type hashmap) j ai fait un ierator afin de parcourir chacune d'entre elles.

    A^priori ca ne me récupère pas la dernière :nullpointer exception (comme message d'erreur).

    Y a til une autre solution pour parcourir une hashMap

  2. #2
    Membre régulier
    Tu n'as pas besoin de stocker les clés dans une autre hashmap, mets les simplement dans un Set. Un code de ce genre devrait marcher:

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Map map = new HashMap();
    map = initialiserMap();
    Set cles = map.keySet();
    Iterator it = cles.iterator();
    while (it.hasNext()){
       Object cle = it.next(); // tu peux typer plus finement ici
       Object valeur = map.get(cle); // tu peux typer plus finement ici
    }


    Si tu continues à avoir des problèmes, montre ton code

  3. #3
    Futur Membre du Club
    merci, pour ta réponse, j'ai amélioré mon code. Mais je me suis rendue compte que le null pointer Exception vient du fait que j'ai deux fois la même clé dans ma HashMap

  4. #4
    Membre éclairé
    Penser au bouton en bas de la discussion.
    " Jag blev dömd för fildelning och allt jag fick var en sketen t-shirt. " (tankafritt.nu)
    PAS DE REPONSE PAR MESSAGE PRIVE ! Penser au bouton Résolu en bas de la discussion...

  5. #5
    Membre émérite
    ll y a beaucoup plus simple (avec la boucle for étendue) et plus performant (récupérer les clés et les valeurs en même temps) :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for(Entry<TypeCle, TypeValeur> entry : map.entrySet()) {
        TypeCle cle = entry.getKey();
        TypeValeur valeur = entry.getValue();
        // traitements
    }

  6. #6
    Membre régulier
    c'est vrai, j'en suis toujours à java 1.4.2