我应该使用什么数据结构在恒定时间内从一对不断变化的值到 java 中的对象进行查找?
What data structure should I use for lookup in constant time from a changing pair of values to an object in java?
我有一个值class(位置),里面有两个双精度值(x 和 y)。
我还有一艘 class 飞船,它有一个带有位置对象的属性。
我需要能够执行以下查找:在 (5,7) 以固定时间发船。
我还希望能够更改位置对象的值,因为多艘船可以引用相同的位置对象,并且当该位置对象更改时它们都必须一起移动。
我查看了散列图,但为了能够在新的 Position(5,7) 上船,我需要覆盖位置对象的散列码(以便具有相同值的位置具有相同的散列) ,而且我听说您不应该更改哈希列表中对象的哈希码。
这可能不是您要找的东西,但我认为您需要的是 2D spatial partitioning data structure like a quad-tree。
我有一个值class(位置),里面有两个双精度值(x 和 y)。 我还有一艘 class 飞船,它有一个带有位置对象的属性。
我需要能够执行以下查找:在 (5,7) 以固定时间发船。 我还希望能够更改位置对象的值,因为多艘船可以引用相同的位置对象,并且当该位置对象更改时它们都必须一起移动。
我查看了散列图,但为了能够在新的 Position(5,7) 上船,我需要覆盖位置对象的散列码(以便具有相同值的位置具有相同的散列) ,而且我听说您不应该更改哈希列表中对象的哈希码。
这可能不是您要找的东西,但我认为您需要的是 2D spatial partitioning data structure like a quad-tree。