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

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Suivante
Auteur Sujet :

Calculer un hashcode à partir de 5 entiers

n°552638
nraynaud
lol
Posté le 28-10-2003 à 15:03:45  profilanswer
 

Reprise du message précédent :

El_gringo a écrit :


La seule chose que je veux, c'est un identifiant, sachant que :
2 objets ayant au moins 1 des 5 entiers caractéristiques différents n'auront jamais le même identifiant.
2 objets ayant les mêmes valeurs pour ces 5 entiers auront toujours le même identifiant.

T'as pas le choix t'es obligé de garder tes 5 entiers.
 
si tu avais viré la première règle, alors hashCode() servait à ça, en faisant 4 additions (pour rappel, les int java sont modulaires, c'est à dire qu'on peut les additionner tant qu'on veut, si on va plus loin que le plus grand représentable, ça "fait le tour" http://java.sun.com/docs/books/jls [...] html#51035 )
 
Concernant, ton problème, tu mets le code de Benou dans hashCode()
 
et dans equals tu mets  

Code :
  1. public boolean equals(Object other) {
  2.   if (other instanceof Taclasse) {
  3.     Taclass o = (Taclass) other;
  4.     if (o.hashCode() == this.hashCode())
  5.       return (i1 == o.i1)&&(i2 == o.i2) && ....
  6.     else
  7.       return false;
  8.   } else
  9.   return false
  10. }


 
Et tu utilises systématiquement equals() pour savoir si 2 instances sont pareilles.
 
Et tes instances sont leur propres identifiants.

mood
Publicité
Posté le 28-10-2003 à 15:03:45  profilanswer
 

n°552640
benou
Posté le 28-10-2003 à 15:04:39  profilanswer
 

El_gringo a écrit :



La seule chose que je veux, c'est un identifiant, sachant que :
2 objets ayant au moins 1 des 5 entiers caractéristiques différents n'auront jamais le même identifiant.
2 objets ayant les mêmes valeurs pour ces 5 entiers auront toujours le même identifiant.




pas possible [:spamafote]
ca revient à vouloir caser 5 entiers dans un seul ...


---------------
ma vie, mon oeuvre - HomePlayer
n°552648
nraynaud
lol
Posté le 28-10-2003 à 15:09:43  profilanswer
 

benou a écrit :


pas possible [:spamafote]
ca revient à vouloir caser 5 entiers dans un seul ...

C'est pas parce que lui est embrouillé que tu dois te faire embrouiller aussi, "différents" ça veut dire que equals() renvoie null.
 
edit : false. Je deviens tarré là, quand je vois que moi je suis au chomedu et sans diplome et que la plupart ici sont soit au boulot soit diplomé soit auront leur diplome !


Message édité par nraynaud le 28-10-2003 à 15:39:35
n°552658
LetoII
Le dormeur doit se réveiller
Posté le 28-10-2003 à 15:17:21  profilanswer
 

nraynaud a écrit :

C'est pas parce que lui est embrouillé que tu dois te faire embrouiller aussi, "différents" ça veut dire que equals() renvoie null.


 
Heu, false tu veux dire ;)


---------------
Le Tyran
n°552670
El_gringo
Posté le 28-10-2003 à 15:24:30  profilanswer
 

nraynaud a écrit :


et dans equals tu mets  

Code :
  1. public boolean equals(Object other) {
  2.   if (other instanceof Taclasse) {
  3.     Taclass o = (Taclass) other;
  4.     if (o.hashCode() == this.hashCode())
  5.       return (i1 == o.i1)&&(i2 == o.i2) && ....
  6.     else
  7.       return false;
  8.   } else
  9.   return false
  10. }


 
Et tu utilises systématiquement equals() pour savoir si 2 instances sont pareilles.
 
Et tes instances sont leur propres identifiants.


 
Merci. C'est pas bête ça.
Problème : mon identifiant que je cherche à calculé, c'était pour pouvoir passer via HTTP. Mes objets ils vont pas passer ! :-/

n°552672
El_gringo
Posté le 28-10-2003 à 15:26:19  profilanswer
 

benou a écrit :


pas possible [:spamafote]
ca revient à vouloir caser 5 entiers dans un seul ...


 
Putain, j'suis con moi, t'as raison, c clair !

n°552675
Krueger
tout salaire demande dutravail
Posté le 28-10-2003 à 15:27:30  profilanswer
 

Ben il te suffit d'envoyer tes 5 entiers, non ?


---------------
"Colère et intolérance sont les ennemis d'une bonne compréhension." Gandhi
n°552677
Krueger
tout salaire demande dutravail
Posté le 28-10-2003 à 15:28:49  profilanswer
 

El_gringo a écrit :


 
Putain, j'suis con moi, t'as raison, c clair !


À moins d'utiliser la classe java.math.BigInteger pour "concaténer" ces 5 entiers...


---------------
"Colère et intolérance sont les ennemis d'une bonne compréhension." Gandhi
n°552678
darklord
You're welcome
Posté le 28-10-2003 à 15:29:29  profilanswer
 

Krueger a écrit :


la classe java.math.BigInteger


 
ah non pas elle [:totoz]


---------------
Just because you feel good does not make you right
n°552682
Krueger
tout salaire demande dutravail
Posté le 28-10-2003 à 15:34:36  profilanswer
 

Je n'ai jamais utilisé cette classe. Elle est tellement génératrice de cauchemars chez le développeur ?


---------------
"Colère et intolérance sont les ennemis d'une bonne compréhension." Gandhi
mood
Publicité
Posté le 28-10-2003 à 15:34:36  profilanswer
 

n°552687
nraynaud
lol
Posté le 28-10-2003 à 15:37:59  profilanswer
 

Krueger a écrit :


À moins d'utiliser la classe java.math.BigInteger pour "concaténer" ces 5 entiers...

Ah oui tiens, ça m'est jamais venu à l'idée d'utiliser un bigint pour faire uniquement de l'égalité dessus.

n°552688
the real m​oins moins
Posté le 28-10-2003 à 15:40:21  profilanswer
 

El_gringo a écrit :


 
Le problème n'a pas changé.
Tu veux bien foutre 30 Secondes tes airs supérieurs au placard ?
 
Ennoncé on n'peux plus clair (tu tailles sans même savoir ce qu'on cherche à faire !? :


La seule chose que je veux, c'est un identifiant, sachant que :
2 objets ayant au moins 1 des 5 entiers caractéristiques différents n'auront jamais le même identifiant.
2 objets ayant les mêmes valeurs pour ces 5 entiers auront toujours le même identifiant.




 

El_gringo a écrit :


 
Merci. C'est pas bête ça.
Problème : mon identifiant que je cherche à calculé, c'était pour pouvoir passer via HTTP. Mes objets ils vont pas passer ! :-/


 
 
t'es gonflé. :sarcastic:


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°552689
nraynaud
lol
Posté le 28-10-2003 à 15:41:23  profilanswer
 

El_gringo a écrit :


Problème : mon identifiant que je cherche à calculé, c'était pour pouvoir passer via HTTP. Mes objets ils vont pas passer ! :-/

J'abandonne.

n°552692
the real m​oins moins
Posté le 28-10-2003 à 15:43:33  profilanswer
 

nraynaud a écrit :

J'abandonne.

attend, on va bientot apprendre qu'il voulait dire "url" au lieu d'http; ou bien qu'il bosse sur un palm.


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°552693
darklord
You're welcome
Posté le 28-10-2003 à 15:45:34  profilanswer
 

Krueger a écrit :

Je n'ai jamais utilisé cette classe. Elle est tellement génératrice de cauchemars chez le développeur ?


 
qd c'est utilisé à la place de 'int' oui :D


---------------
Just because you feel good does not make you right
n°552704
El_gringo
Posté le 28-10-2003 à 15:57:50  profilanswer
 

the real moins moins a écrit :

attend, on va bientot apprendre qu'il voulait dire "url" au lieu d'http; ou bien qu'il bosse sur un palm.


 
Ben, j'ai besoin de comparer 2 objets, alors que je n'ai QUE l'identifiant de l'un des 2. Cet identifiant, je le reçoit via HTTP (envoyé en POST, par un formulaire HTML).
C'est si énorme que ça comme connerie ce que j'dis !?

n°552709
LetoII
Le dormeur doit se réveiller
Posté le 28-10-2003 à 16:04:00  profilanswer
 

El_gringo a écrit :


 
Ben, j'ai besoin de comparer 2 objets, alors que je n'ai QUE l'identifiant de l'un des 2. Cet identifiant, je le reçoit via HTTP (envoyé en POST, par un formulaire HTML).
C'est si énorme que ça comme connerie ce que j'dis !?


 
Qu'est ce qui t'enpéche d'envoyer les 5 entiers?  [:spamafote]


---------------
Le Tyran
n°552714
El_gringo
Posté le 28-10-2003 à 16:07:28  profilanswer
 

LetoII a écrit :


 
Qu'est ce qui t'enpéche d'envoyer les 5 entiers?  [:spamafote]  


 
C'est vrai qu'au départ j'épérais juste simplifier les choses ! :D

n°552730
Krueger
tout salaire demande dutravail
Posté le 28-10-2003 à 16:16:54  profilanswer
 

Eh ben voilà. Beaucoup de bruit pour rien. :sarcastic:


---------------
"Colère et intolérance sont les ennemis d'une bonne compréhension." Gandhi
n°552734
LetoII
Le dormeur doit se réveiller
Posté le 28-10-2003 à 16:18:13  profilanswer
 

Krueger a écrit :

Eh ben voilà. Beaucoup de bruit pour rien. :sarcastic:


 
Ca ct prévisible dès le début du topic  :whistle:


---------------
Le Tyran
n°552755
El_gringo
Posté le 28-10-2003 à 16:31:22  profilanswer
 

Mouais...
désolé ! :jap:

n°552756
darklord
You're welcome
Posté le 28-10-2003 à 16:31:47  profilanswer
 

+1 :/


---------------
Just because you feel good does not make you right
n°552782
benou
Posté le 28-10-2003 à 16:47:05  profilanswer
 

nraynaud a écrit :

C'est pas parce que lui est embrouillé que tu dois te faire embrouiller aussi, "différents" ça veut dire que equals() renvoie false.


ben je sais, mais je vois pas le rapport avec ce que je dis ...


---------------
ma vie, mon oeuvre - HomePlayer
n°552783
El_gringo
Posté le 28-10-2003 à 16:48:24  profilanswer
 

benou a écrit :


ben je sais, mais je vois pas le rapport avec ce que je dis ...


 
Ouais. en fait, c toi qui m'a fait prendre conscience que ce que je cherchais à faire c'était n'importe quoi en fait !

n°552784
benou
Posté le 28-10-2003 à 16:48:27  profilanswer
 

El_gringo a écrit :

Mouais...
désolé ! :jap:  


t'abuse là gringo :o


---------------
ma vie, mon oeuvre - HomePlayer
n°552785
El_gringo
Posté le 28-10-2003 à 16:48:55  profilanswer
 

Merci à ceux qui ont essayé qd même, et dsl pour ce topic qui plane pas bien haut !

n°552820
the real m​oins moins
Posté le 28-10-2003 à 17:07:08  profilanswer
 

[:rofl]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°931157
Giz
Posté le 23-12-2004 à 19:21:23  profilanswer
 

heu, un peu dans le meme genre, je cherche un hashCode efficace pour un couple d'entier : (entier1, entier2)
sachant que le couple (entier1, entier2) est different de (entier2, entier1).
Une idée ?
 
PS : en cherchant sur le net, j'ai vu des hashCode de couple d'entier faisant :
hashCode = entier1 * 31 + entier2
C'est efficace ça ? et pourquoi 31 et pas 7 ? :??:

n°931161
nraynaud
lol
Posté le 23-12-2004 à 19:25:03  profilanswer
 

kadreg a écrit :

non, c'est pour du hash


le hash c'est mal.


---------------
trainoo.com, c'est fini
n°931279
benou
Posté le 23-12-2004 à 22:28:07  profilanswer
 

Giz a écrit :


C'est efficace ça ?


suffisament efficace.
 

Giz a écrit :


 et pourquoi 31 et pas 7 ? :??:


parce que pas :o
 


---------------
ma vie, mon oeuvre - HomePlayer
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Suivante

Aller à :
Ajouter une réponse
 

Sujets relatifs
appeler un script PHP a partir d'une feuille XSLT ????[PHP] entiers 64 bits ??
Recuperer le répertoire de lancement d'un process à partir de son nomacceder a partir de VB a base de donnée en Access
programme ASP permettant d'afficher en gras ou en italique les entiersJutilise un xml a partir de flash mais je peux pas metre dimage !?!
lancer un exe sur un serveur IIS à partir d'une autre machine[Une colle] Lire un fichier texte à partir du poste d'un client.
Raffraichir une frame avec un JS à partir d'un popupTrouver une date Y-m-d à partir d'une date U [ - Job's Done - ]
Plus de sujets relatifs à : Calculer un hashcode à partir de 5 entiers


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)