Bonjour,

J'ai un léger problème avec un HashSet. Voici un bout de code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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.