Pour quoi on fait int + String dans la méthode hashCode?
Résolu/Fermé
estrellas6
Messages postés
36
Date d'inscription
vendredi 26 juillet 2013
Statut
Membre
Dernière intervention
7 mars 2014
-
26 juil. 2013 à 12:23
arthurg95 Messages postés 2421 Date d'inscription dimanche 24 février 2008 Statut Membre Dernière intervention 4 juin 2014 - 26 juil. 2013 à 12:59
arthurg95 Messages postés 2421 Date d'inscription dimanche 24 février 2008 Statut Membre Dernière intervention 4 juin 2014 - 26 juil. 2013 à 12:59
A voir également:
- Pour quoi on fait int + String dans la méthode hashCode?
- Int converter - Télécharger - Bureautique
- Vba concatenate string and integer ✓ - Forum VB / VBA
- La méthode range de l'objet worksheet a échoué ✓ - Forum VB / VBA
- La methode de connexion que vous utilisez n'est pas autorisée ✓ - Forum Réseau
- Convertir char en int c - Forum C
4 réponses
arthurg95
Messages postés
2421
Date d'inscription
dimanche 24 février 2008
Statut
Membre
Dernière intervention
4 juin 2014
341
Modifié par arthurg95 le 26/07/2013 à 12:33
Modifié par arthurg95 le 26/07/2013 à 12:33
Bonjour,
Le principe d'un Hash est qu'il y en ai le moins d'identique possible pour avoir une répartition dans les tables (hashtab) par exemple quasiment égale.
Pourquoi prime = 31 ? Parce que c'est un nombre premier, tu aurais pu aussi bien mettre 37 ;)
Cette somme ne correspond à rien de concret, c'est la définition du hash ;)
A mon avis ici il utilise sont hash pour la méthode compareTo(), afin de définir la différence entre 2 villes, elle ne sont égales si et seulement si categorie=categorie, nbrHabitant = nbrHabitant, ...
Ce hash donne un identifiant unique (en théorie) à ta ville.
Mais dans tous les cas, vérifie sur categorie est bien un string, car on ne peut pas faire la somme d'un int et d'un string ;)
Tout est dit, mais comme personne n'écoute il faut toujours répéter
Le principe d'un Hash est qu'il y en ai le moins d'identique possible pour avoir une répartition dans les tables (hashtab) par exemple quasiment égale.
Pourquoi prime = 31 ? Parce que c'est un nombre premier, tu aurais pu aussi bien mettre 37 ;)
Cette somme ne correspond à rien de concret, c'est la définition du hash ;)
A mon avis ici il utilise sont hash pour la méthode compareTo(), afin de définir la différence entre 2 villes, elle ne sont égales si et seulement si categorie=categorie, nbrHabitant = nbrHabitant, ...
Ce hash donne un identifiant unique (en théorie) à ta ville.
Mais dans tous les cas, vérifie sur categorie est bien un string, car on ne peut pas faire la somme d'un int et d'un string ;)
Tout est dit, mais comme personne n'écoute il faut toujours répéter
estrellas6
Messages postés
36
Date d'inscription
vendredi 26 juillet 2013
Statut
Membre
Dernière intervention
7 mars 2014
26 juil. 2013 à 12:35
26 juil. 2013 à 12:35
merci beaucoup c'est très gentil.
Si j'ai bien compris, on ne peut pas deviner result vaut combien c'est ça ?
Si j'ai bien compris, on ne peut pas deviner result vaut combien c'est ça ?
arthurg95
Messages postés
2421
Date d'inscription
dimanche 24 février 2008
Statut
Membre
Dernière intervention
4 juin 2014
341
Modifié par arthurg95 le 26/07/2013 à 12:38
Modifié par arthurg95 le 26/07/2013 à 12:38
De rien ;)
Non pas du tout ! Tu peux l'afficher result même si tu veux, tu verras bien ce que ça donne ;)
Un conseil, n'essaye pas d'avancer trop vite dans le tuto en pensant avoir compris ;)
Non pas du tout ! Tu peux l'afficher result même si tu veux, tu verras bien ce que ça donne ;)
Un conseil, n'essaye pas d'avancer trop vite dans le tuto en pensant avoir compris ;)
estrellas6
Messages postés
36
Date d'inscription
vendredi 26 juillet 2013
Statut
Membre
Dernière intervention
7 mars 2014
26 juil. 2013 à 12:43
26 juil. 2013 à 12:43
Merci pour ton conseil :)
je voulais dire est ce qu'on peut deviner le résultat de hashCode avant l'exécution c'est à dire on fait les calculs juste pour vérifier, et j'ai dit "on ne peut pas" parce qu'on a cette somme "int+String" c ça le problème pour moi
je voulais dire est ce qu'on peut deviner le résultat de hashCode avant l'exécution c'est à dire on fait les calculs juste pour vérifier, et j'ai dit "on ne peut pas" parce qu'on a cette somme "int+String" c ça le problème pour moi
arthurg95
Messages postés
2421
Date d'inscription
dimanche 24 février 2008
Statut
Membre
Dernière intervention
4 juin 2014
341
26 juil. 2013 à 12:50
26 juil. 2013 à 12:50
Ah c'est bien ce qui me semblait, categorie n'est pas un String, mais un char.
En fait un char, il est interprété par le code ASCII de la lettre, un "A" vaut 65 par exemple ;)
En fait un char, il est interprété par le code ASCII de la lettre, un "A" vaut 65 par exemple ;)
estrellas6
Messages postés
36
Date d'inscription
vendredi 26 juillet 2013
Statut
Membre
Dernière intervention
7 mars 2014
26 juil. 2013 à 12:53
26 juil. 2013 à 12:53
oui c vrais c'est un char donc il va nous donner 96 pour cette ligne
ok merci beaucoup :)
ok merci beaucoup :)
arthurg95
Messages postés
2421
Date d'inscription
dimanche 24 février 2008
Statut
Membre
Dernière intervention
4 juin 2014
341
26 juil. 2013 à 12:59
26 juil. 2013 à 12:59
De rien, passe en résolu ;)