Какую структуру данных я должен использовать для поиска в постоянное время от меняющейся пары значений до объекта в Java?
У меня есть класс значений (позиция) с двумя двойными (х и у) в нем. У меня также есть класс корабля, у которого есть атрибут с объектом позиции.
Я должен быть в состоянии сделать поиск как: получить корабль в (5,7) с постоянным временем. Я также хочу иметь возможность изменять значение объекта позиции, потому что несколько кораблей могут ссылаться на одни и те же объекты позиции, и все они должны двигаться вместе, когда этот объект позиции изменяется.
Я посмотрел на hashmap, но чтобы иметь возможность получить корабль в новой позиции (5,7), мне нужно переопределить хэш-код объекта позиции (чтобы позиции с одинаковыми значениями имели одинаковый хэш), и я слышал, как вы не должен изменять хеш-код объекта в хеш-листе.
1 ответ
Это может быть не совсем то, что вы ищете, но я думаю, что вам нужна 2D-структура данных пространственного разделения, такая как квад-дерево.