Lorsque nous plaçons une classe Objet (qui a disons trois membres de données) dans une table de hachage, comment puis-je empêcher de mettre une autre entrée dans la table de hachage dont la clé a les mêmes trois membres de données ? Car je suppose que ce sera un nouvel objet. Donc hashtable.containsKey() retournera false même s'il y a une clé (cet objet de classe) qui a les mêmes membres de données que celle qui attend d'être insérée.
Plus clairement : J'ai une classe comme
class Triplet {
private Curr curr;
private Prev prev;
private Next next;
}
J'ai une structure de table de hachage comme :
Hashtable<Triplet, Integer> table = new Hashtable<Triplet, Integer>();
Quand je le fais :
if(!table.containsKey(triplet_to_inserted))
table.put(triplet, new Integer(0));
Est-ce que cela va insérer un duplicata même si la table contient un triplet qui a déjà les mêmes membres de données ? C'est-à-dire : triplet_to_be_inserted.curr, triplet_to_be_inserted.next et triplet_to_be_inserted.prev. Si oui, comment éviter cela ?
De même, pour toute entrée à insérer, containsKey() renverra-t-il toujours vrai ? Comment contourner ce problème ?
Merci.