Partage
  • Partager sur Facebook
  • Partager sur Twitter

Parcourir HashMap

Sujet résolu
    30 avril 2012 à 20:54:46

    Salut,
    j'ai une question sur les HashMap. J'ai créé une HashMap<String,String> et j’essaie de la parcourir mais je vois pas comment. J'ai vu des commentaires sur l'utilisation de ketSet() et d'autres mais je vois pas comment sa marche...

    Merci de votre attention
    • Partager sur Facebook
    • Partager sur Twitter
      30 avril 2012 à 20:57:45

      Bonjour,

      Map<String, String> hashMap = new HashMap<String, String>();
      for (String mapKey : hashMap.keySet()) {
      	// utilise ici hashMap.get(mapKey) pour accéder aux valeurs
      }
      

      Une recherche Google aurait aussi fait l'affaire...
      • Partager sur Facebook
      • Partager sur Twitter
      Si vous voulez me retrouver, rendez-vous sur ZesteDeSavoir.
        30 avril 2012 à 21:43:27

        Si tu veux accéder aux clés et aux valeurs (aux couples clés/valeurs):
        Map<String, String> hashMap = new HashMap<String, String>();
        for (Map.Entry<String, String> entree : hashMap.entrySet()) 
        {
          //entree.getKey pour la clé
          //entree.getValue pour la valeur
        }
        


        C'est plus rapide que de faire des get pour chaque clé (on passe d'une complexité de n*log(n) à n).

        Tu as aussi une méthode pour ne parcourir que les clés ou que les valeurs. Et si tu veux retirer des éléments du map, tu peux passer par un iterator (avec sa méthode remove).
        Tu as plus(+) d'infos dans la doc.
        • Partager sur Facebook
        • Partager sur Twitter
          1 mai 2012 à 8:29:19

          Plop,

          Citation : bubuche

          C'est plus rapide que de faire des get pour chaque clé (on passe d'une complexité de n*log(n) à n).



          Bien que je fasse exactement comme toi (passé par entrySet), sache que la complexité ne change pas. Les opérations de type get et put dans une HashMap sont constantes (soit O(1)) et non en log(n).

          Citation : Javadoc

          This implementation provides constant-time performance for the basic operations (get and put)



          Cordialement,
          • Partager sur Facebook
          • Partager sur Twitter
            2 mai 2012 à 9:34:51

            Merci pour vos réponses. je vais les utilisés successivement pour voir si y'en a pas une mieux que l'autre

            Citation : AndroWiiid

            Bonjour,

            Map<String, String> hashMap = new HashMap<String, String>();
            for (String mapKey : hashMap.keySet()) {
            	// utilise ici hashMap.get(mapKey) pour accéder aux valeurs
            }
            


            Une recherche Google aurait aussi fait l'affaire...



            J'avais déja trouvé la solution mais je ne la comprenais pas. Mais là, j'ai compris grosso modo comment sa marche. A chaque fois que tu fais un keySet() tu accède a la la clé suivante dans le HashMap. Mais si tu désires le reparcourir, on peut recourir à la même méthode en faisant quoi comme démarche ??
            • Partager sur Facebook
            • Partager sur Twitter

            Parcourir HashMap

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown