Bonjour,
J'aimerais savoir comment gérer les collisions avec la Hashtable. Par exemple, si je gère des utilisateurs dont les clés sont "Prénom Nom", comment faire si par hasard j'ai deux utilisateurs qui sont homonymes ?
Merci d'avance
Version imprimable
Bonjour,
J'aimerais savoir comment gérer les collisions avec la Hashtable. Par exemple, si je gère des utilisateurs dont les clés sont "Prénom Nom", comment faire si par hasard j'ai deux utilisateurs qui sont homonymes ?
Merci d'avance
Tu le gères toi-même au moment de l'insertion des données dans la HashTable
Ceci est une très mauvaise idée... Le jour, où les parents décideront de nommer leurs enfants avec des GUID, tu pourras utiliser ce genre de clés, mais en attendant, il ne faut pas se baser sur le fait que des noms/prénoms des personnes sont uniques.Citation:
Envoyé par nicoland
D'un point de vue purement analytique et mathématique rien n'interdit d'avoir des doublons dans une hashtable.
Maintenant d'un point de vue plus terre à terre, si tu utilise l'implantation Dictionary du framework, il y a bel et bien une limitation qui interdit les doublons.
Maintenant rien ne t'interdit de concevoir ta propre implantation d'une hashtable qui elle gère les doublons, dans ce cas tu devrais fournir une méthode qui permette non pas de recouvrer uniquement la première entité, mais un tableau des entités ayant la même clé.
A noter que 95% des implantations de hashstables que tu pourra rencontrer (ne serait ce que dans les SGBD) ne permette pas d'inserer des doublons en terme de clé dans une hashtable.
Ce que tu peux faire dans un Dictionary c'est manipuler en guise de valeur des tables ou des listes des objets à référencer, comme ca, tu peux gérer toi même les problèmes de doublons...