Bonjour à tous et à toutes,
Je possède une HashMap du type: HashMap<Pair<ClassA, ClasseB>, Integer>
Je l'ai rempli. Maintenant, j'aimerai utiliser la fonction containsKey afin de pouvoir incrémenter l'entier de ma hashMap si la pair existe déjà.
Donc voici mon code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 HashMap<Pair<ClassA, ClasseB>, Integer> hm = new HashMap<Pair<ClassA, ClasseB>, Integer>(); for (int i = 0; i < size; i++) { ClasseA a = getInstanceA(i); ClasseB b = getInstanceB(i); Pair<ClasseA, ClasseB> key = new Pair<ClasseA, ClasseB>(a,b); if (hm.containsKey (key)) hm.put (key, hm.get (key) + 1); else hm.put (key, 1); }
Le problème est que containsKey me renvoit toujours faux. J'ai vu sur internet qu'il fallait redéfinir equal et hashcode mais je n'ai aucune idée de comment faire!
Quelqu'un pourrait m'aider s'il vous plait?
Merci d'avance.
Partager