Я создал класс с именем Coordinate следующим образом:
public class Coordinate {
public int x;
public int y;
public Coordinate(int x, int y) {
this.x = x;
this.y = y;
}
@Override
public boolean equals(Object obj) {
Coordinate coordinate = (Coordinate)obj;
return (coordinate.x == this.x && coordinate.y == this.y);
}
}
У меня есть два набора (A & B), которые я заполняю экземплярами класса Coordinate.Я хотел бы проверить, содержат ли мои два набора экземпляры Coordinate, которые удовлетворят .equals ().Например:
Coordinate a = new Coordinate(2, 2);
Coordinate b = new Coordinate(2, 2);
A.add(a);
B.add(b);
Несмотря на то, что a.equals (b) и b.equals (a) оба оценивают как true, a и b являются разными экземплярами (и, таким образом, выделяются в разные области памяти), ипоэтому каждый метод сравнения наборов A и B, с которым я сталкивался, будет оценивать их как различные наборы.
Есть ли способ оценить, равны ли множества на основе того, удовлетворяет ли их содержимое .equals ()?