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 :

[HashMap] Ecrasement de données pour des clés différentes


Sujet :

Collection et Stream Java

  1. #1
    Membre expérimenté
    Avatar de Adjanakis
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    739
    Détails du profil
    Informations personnelles :
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2004
    Messages : 739
    Points : 1 351
    Points
    1 351
    Par défaut [HashMap] Ecrasement de données pour des clés différentes
    Bonjour,

    Mon problème du jour est assez troublant, c'est d'ailleurs la première fois que je doute de l'API standard au lieu de douter de mon code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    ...
    hashMap.put("C7",recordset.getDate(rowNumber, (short) 7));
    hashMap.put("C8",recordset.getDate(rowNumber, (short) 8));
    ...
    hashMap.put("C12",new Integer(recordset.getInt(rowNumber, (short) 12)));
    ...
    Chaque appel à la méthode put ajoute bien une occurence de l'objet voulu, mais malgré les clés différentes c'est à chaque fois au même emplacement ! Du coup, sur ces 3 lignes de code, je ne garde la trace que de la dernière.

    Ma verssion de Java est la 1.4.2_04.

    Merci de votre aide !

  2. #2
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par Adjanakis
    Chaque appel à la méthode put ajoute bien une occurence de l'objet voulu, mais malgré les clés différentes c'est à chaque fois au même emplacement ! Du coup, sur ces 3 lignes de code, je ne garde la trace que de la dernière.
    Que veux-tu dire par là exactement ???

    a++

  3. #3
    Membre expérimenté
    Avatar de Adjanakis
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    739
    Détails du profil
    Informations personnelles :
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2004
    Messages : 739
    Points : 1 351
    Points
    1 351
    Par défaut
    Chaque appel à put() écrase les données du put() précédent. A priori un problème de HaschCode, mais sur un String ... posssible ?

  4. #4
    Membre expérimenté
    Avatar de Adjanakis
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    739
    Détails du profil
    Informations personnelles :
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2004
    Messages : 739
    Points : 1 351
    Points
    1 351
    Par défaut
    Après avoir cherché dans une dizaine de sujet, j'ai finalement trouvé la cause de mon problème. Tout est dans ce sujet, il s'agit d'un comportement du au débug d'Eclipse. Ca ne résoud pas tout mon problème, mais l'API que je suis en train de vérifier a peut-être le même bug.

    Merci de ton aide !

  5. #5
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Adjanakis
    Chaque appel à put() écrase les données du put() précédent. A priori un problème de HaschCode, mais sur un String ... posssible ?
    Comment tu peux faire pour affirmer cela ??? Un bout de code minimal avec le problème serait un plus !

    a++

  6. #6
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Adjanakis
    Après avoir cherché dans une dizaine de sujet, j'ai finalement trouvé la cause de mon problème. Tout est dans ce sujet, il s'agit d'un comportement du au débug d'Eclipse.
    Tu n'a pas à connaitre l'implémentation interne de Map : pour vérifier le contenu d'une Map il suffit de la parcourir via un itérateur...

    a++

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Wamp] Le même message m'est affiché pour des scripts différents
    Par salmoucha dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 18
    Dernier message: 05/03/2008, 16h38
  2. Réponses: 4
    Dernier message: 11/01/2008, 11h52
  3. Réponses: 6
    Dernier message: 14/11/2007, 16h38
  4. Entrepôt de données pour des enseignants
    Par la joziane dans le forum Schéma
    Réponses: 14
    Dernier message: 03/01/2007, 16h55
  5. faire une jointure sur des clés différentes
    Par phpaide dans le forum Requêtes
    Réponses: 3
    Dernier message: 13/09/2006, 10h16

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