java - 我应该使用什么数据结构来在恒定时间内从一对变化的值到java中的对象进行查找?

标签 java data-structures hashmap value-class

我有一个值类(位置),其中有两个 double (x 和 y)。 我还有一艘类船,它有一个带有位置对象的属性。

我需要能够进行如下查找:以恒定的时间在 (5,7) 处发货。 我还希望能够更改位置对象的值,因为多艘船可以引用相同的位置对象,并且当该位置对象发生变化时,它们都必须一起移动。

我已经查看了 hashmap,但是为了能够在新的 Position(5,7) 处获取船舶,我需要覆盖位置对象的哈希码(以便具有相同值的位置具有相同的哈希值),并且我听说你不应该更改哈希列表中对象的哈希码。

最佳答案

这可能不是您正在寻找的,但我认为您需要的是 2D spatial partitioning数据结构就像 quad-tree .

关于java - 我应该使用什么数据结构来在恒定时间内从一对变化的值到java中的对象进行查找?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43262617/

相关文章:

java - 理解java编译和继承

java - 使用 springframework 的不良 JUnit 测试具有脆弱的 Thread.sleep() 调用。怎么修?

data-structures - Python - 哈希堆实现

java - 使用流根据键在键值对上应用不同的函数

java - 当JVM达到Java中的最大线程数时,每个线程的最小内存分配?

java - Java 是 "pass-by-reference"还是 "pass-by-value"?

algorithm - 一棵树的深度与高度。刷新基本面

data-structures - 持久与不可变的数据结构

java - Java 中的 HashMap 和 Map 对象有什么区别?

java - 如何检查字符串是否为数字