IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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 :

Problème avec Hashmap et ArrayList!


Sujet :

Collection et Stream Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2008
    Messages : 2
    Par défaut Problème avec Hashmap et ArrayList!
    Bonjour,

    j'aurai besoin d'un petit coup de main...
    Voilà mon problème :
    Je souhaite utiliser une HashMap, ma clé étant des Long et mes valeurs des ArrayList voilà comment je la définie :
    HashMap<Long, ArrayList<Integer>> hashmap = HashMap<Long, ArrayList<Integer>>();
    Mes clés, sont à la base des BigInteger (qui sont aussi premiers) choisi au hasard puis transformés en Long.
    Je veux donc remplir ma HashMap, sachant que certaines clés peuvent être identiques et dans ce cas là je veux changer une valeur dans mon ArrayList (je dois changer la dernière valeur de l'ArrayList)
    je vérifie donc que la clé n'est pas déjà présente dans ma table :
    si elle n'y est pas => je fais un put(cle, value)
    si elle y est => je fais un get(cle) et je veux modifier la dernière valeur...
    MAIS je me suis aperçue que à chaque fois que je rentre une nouvelle clé, toutes les clés rentrées précédement prennent comme valeur "la nouvelle" ArrayList...
    J'ai essayé de redéfinir les méthodes hashCode() et equals() sans grands changements. Je fais quelquechose qui n'est pas correct mais je ne trouve pas. J'ai certainement mal redéfini les méthodes mais je ne sais pas comment m'y prendre autrement...est-ce que quelqu'un pourrait m'aider svp svp svp!!!!
    et je laisse le code où je tente de gérer ma table de hachage :
    et encore une fois pardonnez mon code pour redéfinir hashcode() et equals() j'ai fais des tests...
    Fichiers attachés Fichiers attachés

  2. #2
    Membre émérite Avatar de zorm
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    584
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 584
    Par défaut
    Je pense que c'est parce que tu travailles toujours sur le même objet ArrayList à chaque nouvelle insertion donc forcement, les modifications se repercutent partout.
    remplaces juste;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
                o.evaluation_oth(); // la classe Othellier contient un ArrayList<Integer> et la méthode evaluation_oth "remplit" ArrayList
                ArrayList<Integer> eval = new ArrayList<Integer>();  
                for(Integer i:o.getEvaluation())
                      eval.add(i);
                hashmap.put(cle, eval);
    après dans ton code, tu as mis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    // hashmap.put(cle, temp); //ça je sais pas si je dois le mettre ou pas!
    La réponse est dans la javadoc
    Associates the specified value with the specified key in this map. If the map previously contained a mapping for the key, the old value is replaced.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2008
    Messages : 2
    Par défaut Merci merci merci!!!!!
    Ca marche impeccable maintenant!
    Encore merci!!

  4. #4
    Membre émérite Avatar de zorm
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    584
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 584
    Par défaut
    nickel, n'oublies pas de passer le post en Résolu

Discussions similaires

  1. Problème avec HashMap
    Par mimish dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 12/12/2011, 16h28
  2. [HashMap] Problèmes avec HashMap (redéfinition de HashCode etc.)
    Par Dominique49 dans le forum Collection et Stream
    Réponses: 10
    Dernier message: 01/09/2011, 11h37
  3. problème avec indexOf ds ArrayList
    Par chadnour dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 24/12/2007, 15h10
  4. Problème avec ArrayList <String>
    Par fiphi dans le forum Collection et Stream
    Réponses: 8
    Dernier message: 29/08/2006, 09h30
  5. [Swing] Problème avec un bean et un arraylist
    Par kikoufr dans le forum AWT/Swing
    Réponses: 16
    Dernier message: 30/09/2004, 09h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo