Problema com o método hashset "contém" (Java)
O código a seguir não está me dando o resultado esperado:
public static void main (String[] args) {
Set<Pair> objPair = new LinkedHashSet<Pair>();
objPair.add(new Pair(1, 0));
System.out.println("Does the pair (1, 0) exists already? "+objPair.contains(new Pair(1, 0)));
}
private static class Pair {
private int source;
private int target;
public Pair(int source, int target) {
this.source = source;
this.target = target;
}
}
O resultado será:
Does the pair (1, 0) exists already? false
Não consigo entender por que não está funcionando. Ou talvez eu esteja usando o método "contém" errado (ou pelos motivos errados).
Também há outro problema: se eu adicionar o mesmo valor duas vezes, ele será aceito, mesmo sendo um conjunto
objPair.add(new Pair(1, 0));
objPair.add(new Pair(1, 0));
Ele não aceita / reconhece a classe Pair que eu criei?
Desde já, obrigado.