我有许多坐标空间,尺寸为 65,536 x 65,536,并由许多对象填充,其中没有两个可以共享相同的坐标。鉴于此,我可以通过将生成坐标的两条短裤组合成生成散列的 int 来保证每个对象的唯一散列。
为了存储对这些对象的引用,我目前正在使用带有自定义不可变 Point 类的 HashMap 作为键。然而,自从我开始一次使用大量这些坐标空间以来,我开始寻找减少内存使用的方法。
我对 java 的 HashMap 工作原理的理解是基本的,但考虑到我可以保证每个对象都有一个唯一的哈希,似乎我可以使用内存效率更高的版本:
- 不使用可以包含多个对象的存储桶
- 可以通过使用散列而不是使用键来放置和获取对象
是否存在这样一个类似 HashMap 的集合?
编辑:坐标空间是稀疏的,每个运行大约 2000-3000 个对象。