-
[Algo]methode hashcode
bonjour à tous,
j'aimerais surcharger la methode hashcode de la classe hashtable.
c'est pour l'utiliser avec des string de la forme a2 ou e6 cad une lettre et un chiffre.
si quelqu'un sait comment faire cette fontion de hachage ses idées seront les bienvenues
merci
[Modéré par Didier]
Ajout de tag dans le titre
Lire les règles du forum : Règles du forum Java
-
Salut.
Quel est ton problème? Comment surcharger cette méthode ou quoi mettre dedans?
Par ailleurs, es-tu certain de vouloir surcharger la méthode hashCode de HashTable, ou voudrais-tu surcharger celle des objets que tu mets dedans?
A+
-
methode hashcode
jevoudrais la surchargez cad ecrire un nouveau code pour de cette fonction pour pouvoir calculer les valeurs de hachage.
-
Peux-tu nous décrire en gros la fonction de hashage? (comment est calculé l'entier en fonction l'objet)
-
methode hachage
c'est justement ce que je voudrais faire je n'ai pas encore de fonction de hachage et j'aimerais en avoir une qui me permet de calculer l'entier en fonction de l'objet en l'occurence ici un string qui serait de la forme a4 ou r5 .
-
Tu n'as qu'a retourne comme hashcode pour ton objet la somme du hashcode de ta lettre + ton entier.
-
Juste une petite remarque: ton hashcode de la forme a2 ou e6 n'aura pas bcp d'entropie. Du coup tu risques d'avoir des problemes avec tes hashcode.
Le hascode ca sert surtout a "identifier" un objet.... si ta clé est tres peu spécifique, tu retrouve rapidement le meme code....
@+
-
Il faut savoir que l'écriture d'une fonction de hachage efficace n'est une chose triviale, pourquoi ?
:arrow: En fait le but d'une fonction de hachage est d'éviter ce que l'on appelle les collisions. C'est à dire éviter au maximum de renvoyer la même valeur pour deux cles différentes. Mais ce n'est pas toujours possible.
:arrow: Pour resoudre ce problème, vous devrez eviter de trop remplir la table en la redimensionnant à chaque fois qu'elle atteint un plafond. En d'autre terme vous devrez gérer ce que l'on appelle le facteur de charge
Ce ne sont que quelques aspects des difficultés que l'on peut rencontrer avec une table de hachage.
La classe HashMap gèere tous ces problèmes au mieux pour des utilisations classiques tel que la tienne. Alors pourquoi vouloir changer :?: