Я бы подошел к этой проблеме вот так, просто создав набор позиций. Набор моделирует коллекцию объектов, которые могут встречаться только один раз. В сравнении структура карты хранит набор связей ключ / значение. Из моего прочтения вашего вопроса я думаю, что структура набора имеет больше смысла.
// You might just be able to use an existing Point depending on what you
// want to do with the position
class Position {
int x;
int y;
// implementations of hashCode() + equals()
}
}
Вам необходимо реализовать hashCode (), чтобы элементы могли распределяться равномерно в наборе, и equals () для сравнения объектов. См. здесь для получения дополнительной информации.
Set<Position> positions = new HashSet<Position>();
positions.add(new Position(3,4));
positions.add(new Position(5,6)); // and so on
Убедитесь, что вы правильно определили equals / hashCode (для этого есть множество ссылок)
Теперь вы можете проверить, находится ли точка в наборе, с помощью такого метода, как:
positions.contains(new Point(2,1)); // returns false
positions.contains(new Point(3,4)); // returns true