Contains ne fonctionne pas sur un HashSet
Bonjour,
J'ai un léger problème avec un HashSet. Voici un bout de code :
Code:
1 2 3 4 5 6 7
|
Set<Couple> set = new HashSet<Couple>();
Couple c = new Couple(v1, v2);
Couple c2 = new Couple(v1, v2);
set.add(c);
System.out.println(set.contains(c2)); // false ??
System.out.println(c2.equals(c)); // true |
C'est un peu bizarre, non ? Certes c et c2 ne représentent pas le même objet mais la doc précise que c'est le critère c2.equals(c) qui est utilisé pour les méthodes contains, remove, etc...
Bref, je suis un peu dans le flou là. A noter que si je remplace les Set par des List, ça fonctionne normalement.
Merci de votre aide.