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

Langage Java Discussion :

Hashcode = probable collision ?


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Par défaut Hashcode = probable collision ?
    Bonjour,
    Pourriez vous me confirmer que par définition, une table de hashage génère de la collision ?
    Je reprends un code qui génère une collision avec String.hashCode()
    Merci
    Z.

  2. #2
    Membre Expert Avatar de Nico02
    Homme Profil pro
    Developpeur Java/JEE
    Inscrit en
    Février 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Developpeur Java/JEE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 728
    Par défaut
    Oui les tables de hachages génèrent des collisions. Il y a plusieurs moyen de les gérer.

    Cdt.

  3. #3
    Membre émérite
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Par défaut
    Je pense que je vais bypasser la table de hash. Moins rapide et plus gorumand en mémoire, mais moins de code a re-écrire.
    merci encore
    Z.

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    On rappellera que HashSet et HashMap sont parfaitement au courant de l'existence des collisions et les gèrent très bien, sans qu'on ait besoin de faire quoi que ce soit.

    Les tables de hachage c'est typiquement le genre de trucs qu'on apprend à l'école pour comprendre que c'est pas de la magie, puis qu'on a plus jamais besoin de toucher parce que l'ordi fait ça à notre place.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre émérite
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Par défaut
    thelvin : Le programme que je relis utilise java.lang.String.hashCode(). Tu essais de me dire que Java a une fonction qui entre en jeu lors des collisions ? En tout cas, elle ne fonctionne pas dans mon programme, a moins que le concepteur ai oublié la partie sensée gérer ces rares cas.
    Merci
    Z.

  6. #6
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Il s'en sert comment de String.hashCode() ?
    Pourquoi est-ce qu'il l'appelle lui-même au lieu de juste utiliser un HashSet ou un HashMap qui n'ont aucun problème avec les collisions ?

    Je sais bien que dans des cas très spécialisés ça peut arriver d'en avoir besoin. Mais il faut toujours en douter a priori.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. algorithme de collision 3D
    Par chetropinchuste dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 14/02/2010, 13h16
  2. [java3D][collision]
    Par geofun dans le forum 3D
    Réponses: 7
    Dernier message: 12/02/2007, 14h49
  3. Test de collision en 2D
    Par GLDavid dans le forum OpenGL
    Réponses: 5
    Dernier message: 12/02/2004, 10h12
  4. Gestion des collisions - terrains
    Par Dranor dans le forum DirectX
    Réponses: 1
    Dernier message: 26/06/2003, 18h50
  5. test collisions
    Par tatakinawa dans le forum OpenGL
    Réponses: 5
    Dernier message: 08/06/2002, 06h03

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