Итак, у меня есть класс, который содержит два числа, точнее X
и Z
. Я храню его на TreeMap
, которому нужен класс ключей, реализующий Comparable
. Проблема в том, как я собираюсь сравнить X
и Z
с другим классом по методу compareTo()
?
Я уже пытался сложить целые числа X
и Z
для обоих классов и сравнить их с Integer.compare()
, но это не очень хорошее решение, потому что если переключены X
и Z
, это закончится тем же результатом.
public class Position2D implements Comparable<Position2D> {
private int x, z;
@Override
public int compareTo(Position2D position2D) {
int coordinatesSum = this.getX() + this.getZ();
int otherCoordinatesSum = position2D.getX() + position2D.getZ();
return Integer.compare(coordinatesSum, otherCoordinatesSum);
}
}