Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1612 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [java] design... hashmap à 2 clés !?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[java] design... hashmap à 2 clés !?

n°198925
--greg--
Posté le 21-08-2002 à 15:35:57  profilanswer
 

En admettant que j'en ai besoin, comment me conseilleriez-vous de remplir et consulter une hashmap avec 2 clés ?
 
Pour l'instant je concatene clé1+"~"+clé2 , en etant assuré que "~" ne sera jamais dans clé1 ni clé2, mais ça suxx des ours.
(mes clés et leurs valeurs ne sont que des strings)
 
Que faire? Lire l'article de benou sur les hashcode? :D

mood
Publicité
Posté le 21-08-2002 à 15:35:57  profilanswer
 

n°198936
gfive
Posté le 21-08-2002 à 15:41:24  profilanswer
 

bah...sinon, tu fais un objet avec 2 hashtable..Dans une, tu met une correspondance clé1-> valeur, et dans l'autre clé2->clé1...
Non???
 
Ou alors...clé1->valeur, et clé2->valeur : tu utilises une référence vers le meêm objet..ca doit pas coûter bien cher, si??


Message édité par gfive le 21-08-2002 à 15:42:55
n°198938
benou
Posté le 21-08-2002 à 15:43:10  profilanswer
 

que veux tu dire par hashmap avec 2 clefs ?
une ahshMap sur laquelle tu pourras apeler la méthode get en utilisant soit une clef siot uen autre ou bien simplement une hashmap ou la clef est composée de 2 objets ?
 
si c'est la deuxeme solution, il faut que tu créé un objet qui contient les 2 autres objets en attribut et sur lequel tu redéfinies les méthodes equals et hashCode
 
pour equals tu testes l'égalité des 2 attributs (attention aux null) et pour hashCode tu additionne le hashCode des 2 (attention aux null aussi)

n°198940
benou
Posté le 21-08-2002 à 15:43:44  profilanswer
 

la solution de gfive est bonne si c'était le premier cas qui était le bon

n°198943
--greg--
Posté le 21-08-2002 à 15:45:48  profilanswer
 

benou : en effet ct la 2e soluce.
je vais sans doute faire ça.
je cache le hashcode comme dans String, hein, c utile nan?
 
j'avoue que mon appelation "hashmap à 2 clés" etait pas claire: il s'agit donc d'une hashmap pour laquelle je veux passer 2 clés à la methode get. Chaque combinaison de 2 clés correspond à une valeur unique. c mieux là?:o

n°198950
benou
Posté le 21-08-2002 à 15:48:46  profilanswer
 

--greg-- a écrit a écrit :

 
je cache le hashcode comme dans String, hein, c utile nan?




ben si vraiment tu cherche les perfs oui ... sinon non.
 
De totue façon, si tes attributs cache déjà leur hashCode, ton hasCode à toi se résumera à une addition ...

n°199051
LeGreg
Posté le 21-08-2002 à 17:33:58  profilanswer
 

un hashmap a deux clés c'est conceptuellement la meme chose
qu'un hashmap a une clé.  
 
de meme qu'un tri sur deux criteres c'est conceptuellement la meme chose qu'un tri a un critere.
 
LeGreg

n°199052
--greg--
Posté le 21-08-2002 à 17:35:55  profilanswer
 

merci legreg...  :ange:  

n°199053
LeGreg
Posté le 21-08-2002 à 17:36:30  profilanswer
 

de rien :D
 
LeGreg

n°199057
--greg--
Posté le 21-08-2002 à 17:38:04  profilanswer
 

parce que, spa pour dire, mais ça n'a rien à voir ce que tu m'as dit :D
ça a beau etre conceptuellement "la meme chose", ça n'en change pas moins le fait qu'il fallait l'implementer d'une maniere ou d'une autre.
non mais.

mood
Publicité
Posté le 21-08-2002 à 17:38:04  profilanswer
 

n°199072
LeGreg
Posté le 21-08-2002 à 17:48:28  profilanswer
 

Nan je disais ca parce qu'il y a eu un jour une question d'un programmeur qui demandait: "bonjour, je connais qsort (en C) qui sert a faire un tri selon un critere, mais je voudrais faire un tri sur trois criteres A,B,C. Comment faire?"
En fait, le principe du tri a trois criteres c'est juste de changer la fonction de comparaison pour tenir compte des trois A, B et C dans l'ordre. Bref, ca demande pas de reprogrammer qsort ou je ne sais quoi.
 
Pour les hashmaps c'est la meme chose. Si ta clé est transformée en hashcode, alors deux clés transformé dans un hashcode similaire ca fera la meme chose. Donc pas la peine de reprogrammer la map.
 
A+
LeGreg

n°199074
--greg--
Posté le 21-08-2002 à 17:50:25  profilanswer
 

tout à fait :)
mais je ne veux pas reimplementer hashmap
le seul truc auquel j'avais pas pensé (enfin ... je n'ai pas pensé du tout en fait [:dawa]), c'était de faire un objet de mes 2 clés au lieu de les concatener.

n°199077
--greg--
Posté le 21-08-2002 à 17:51:48  profilanswer
 

benou a écrit a écrit :

 
ben si vraiment tu cherche les perfs oui ... sinon non.
 
De totue façon, si tes attributs cache déjà leur hashCode, ton hasCode à toi se résumera à une addition ...



oh j'avais pas vu ce post, benou.
mais si on y va comme ça, on peut ptetre aussi dire qu'alors je peut tres bien faire ma bete concat de mes deux clés, nan?
bon ok, une concat c pas trop pareil qu'une addition d'entiers... :o
et puis c pas bo.
bon
je ferai mon tit objet ce soir si je lui trouve un nom :D

n°199090
benou
Posté le 21-08-2002 à 18:04:07  profilanswer
 

perso, j'ai encore jamais fait de cahching de hashCode ...  
 
mais bon, c'est pas grand chose à faire, alors si ca te dit, lache toi ! ;)


Message édité par benou le 21-08-2002 à 18:04:19
n°199091
benou
Posté le 21-08-2002 à 18:04:54  profilanswer
 

--greg-- a écrit a écrit :

 
je ferai mon tit objet ce soir si je lui trouve un nom :D




DoubleKey !!! :)

n°199098
--greg--
Posté le 21-08-2002 à 18:12:19  profilanswer
 

benou a écrit a écrit :

 
DoubleKey !!! :)



:D

n°199114
Cherrytree
cn=?
Posté le 21-08-2002 à 18:21:50  profilanswer
 

HeavyHashMap (c'est lourd deux clés)
 
benou > c'est quoi ce mot : cahching ?


---------------
Le site de ma maman
n°199118
benou
Posté le 21-08-2002 à 18:33:28  profilanswer
 

Cherrytree a écrit a écrit :

 
benou > c'est quoi ce mot : cahching ?




c'est caching écrit par un gars atteint du cancer des doigts. ;)

n°199121
benou
Posté le 21-08-2002 à 18:34:00  profilanswer
 

Cherrytree a écrit a écrit :

HeavyHashMap (c'est lourd deux clés)




PorteClefs tant que t'y es ! ;)


Message édité par benou le 21-08-2002 à 18:34:06
n°199123
therier
heu...coucou!
Posté le 21-08-2002 à 18:34:55  profilanswer
 


Ben tu crée 2 Hashmap!
 
...Avec une petite classe pour gerer la synchro des deux!


---------------
XBox? http://www.gamertagdatabase.com
n°199128
--greg--
Posté le 21-08-2002 à 18:41:07  profilanswer
 

therier a écrit a écrit :

 
Ben tu crée 2 Hashmap!
 
...Avec une petite classe pour gerer la synchro des deux!
 



heho, le rang du fond, on suit un peu là. je vous ai vous dormir.

n°199129
--greg--
Posté le 21-08-2002 à 18:41:18  profilanswer
 

benou a écrit a écrit :

 
PorteClefs tant que t'y es ! ;)



excellent [:xp1700]

n°199130
therier
heu...coucou!
Posté le 21-08-2002 à 18:42:42  profilanswer
 

--greg-- a écrit a écrit :

heho, le rang du fond, on suit un peu là. je vous ai vous dormir.




 
Mais...heu!!!! J'ai pas tout lu... [:therier] ça c'est vu?!? :D  
 


---------------
XBox? http://www.gamertagdatabase.com
n°199131
--greg--
Posté le 21-08-2002 à 18:43:20  profilanswer
 

therier a écrit a écrit :

 
 
Mais...heu!!!! J'ai pas tout lu... [:therier] ça c'est vu?!? :D  
 
 



non non pas du tout :o

n°199229
Cherrytree
cn=?
Posté le 21-08-2002 à 20:56:56  profilanswer
 

benou a écrit a écrit :

 
PorteClefs tant que t'y es ! ;)



Je préfère OuvreBoite, personnellement.


---------------
Le site de ma maman
n°199231
Cherrytree
cn=?
Posté le 21-08-2002 à 20:57:53  profilanswer
 

Ou ClefDeDeuxMap


---------------
Le site de ma maman
n°199270
HappyHarry
Posté le 21-08-2002 à 22:37:05  profilanswer
 

Map2000
 
edit : celui qui trouve le jeu de mot a la con, remporte toute mon estime  ;)


Message édité par HappyHarry le 21-08-2002 à 22:37:57
n°199272
--greg--
Posté le 21-08-2002 à 22:39:14  profilanswer
 

HappyHarry a écrit a écrit :

Map2000
 
edit : celui qui trouve le jeu de mot a la con, remporte toute mon estime  ;)  



on se calme les enfants:)
j'ai nommé mon objet clé en fonction du bidule ds lequel je le met wala

n°199322
Cherrytree
cn=?
Posté le 21-08-2002 à 23:19:03  profilanswer
 

--greg-- a écrit a écrit :

on se calme les enfants:)
j'ai nommé mon objet clé en fonction du bidule ds lequel je le met wala
 



CléEnFonctionDuBiduleDansLequelJeLeMetWala ? :??: [:zebra33]
 
Pourquoi pas, après tout. :sarcastic:


---------------
Le site de ma maman
n°199328
Cherrytree
cn=?
Posté le 21-08-2002 à 23:21:16  profilanswer
 

HappyHarry a écrit a écrit :

Map2000
 
edit : celui qui trouve le jeu de mot a la con, remporte toute mon estime  ;)  



Désolé, je vois pas.
--greg-- > Que dis tu de DoubleInCaseIForgotTheKeysForMyMap ?


---------------
Le site de ma maman
n°199376
benou
Posté le 22-08-2002 à 00:11:56  profilanswer
 

ou bien KeyPOWA ! ;)

n°199379
--greg--
Posté le 22-08-2002 à 00:14:35  profilanswer
 

ça suffit oui :o

n°199382
HappyHarry
Posté le 22-08-2002 à 00:15:53  profilanswer
 

ou bien
 
RahPutainJaiPaumeMesClesSiSeulementJavaisFaitUnDoubleInCaseIForgotTheKeysForMyMap

n°199448
Cherrytree
cn=?
Posté le 22-08-2002 à 05:41:34  profilanswer
 

HappyHarry a écrit a écrit :

ou bien
 
RahPutainJaiPaumeMesClesSiSeulementJavaisFaitUnDoubleInCaseIForgotTheKeysForMyMap  



;) :lol:


---------------
Le site de ma maman
n°199465
darklord
You're welcome
Posté le 22-08-2002 à 09:11:26  profilanswer
 

[:darklord]

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [java] design... hashmap à 2 clés !?

 

Sujets relatifs
[Java] lecture de fichiers XML[Java] Probleme de comprehension avec l'API Cryptix (maj : resolu)
[Java] Soucis de connexion Oracle 9.1 avec Weblogic 6.1[java] "partager" un singleton ... euh...
Conseils de design, notification de changements[java] dessiner une image ailleurs que dans paint()
[JAVA] convertir an bd acces97 en jds[java] probleme de Date
Comment faire pour imprimer une image de l'applet(JAVA) sans plugin???Quel est le meilleur éditeur pour Java, s.v.p. ?
Plus de sujets relatifs à : [java] design... hashmap à 2 clés !?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR