Проблема с «содержащим» методом хэширования (Java)
Следующий код не дает мне результат, который яожидаю:
public static void main (String[] args) {
Set objPair = new LinkedHashSet();
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;
}
}
Результатом будет:
Does the pair (1, 0) exists already? false
Я могу'не понимаю, почему этоне работает. Или, может быть, ям с помощьюсодержит" неправильный метод (или по неправильным причинам).
Существует также другая проблема, если я добавлю одно и то же значение дважды, оно будет принято, даже если оно является набором
objPair.add(new Pair(1, 0));
objPair.add(new Pair(1, 0));
Это победилоне могу принять / распознать класс Pair I 'мы создали?
Заранее спасибо.