我需要一个快速容器来在 Java 中存储对象,对象具有(静态)XYZ 坐标,并且所有对象都有不同的坐标。基本上是一个网格,但它可能不是以 0,0,0 为中心(并且网格中可能缺少部分)。
我尝试使用带有 Integer 的 Map 作为键并对坐标进行位移,以便为每个坐标创建一个唯一的数字。但是当数字高于 255(8 位)时,这并没有很好地工作。
数组也不能作为键,因为映射实际上并不查看数组的值,而是查看引用。我也可以使用字符串作为键,但是每次我想访问一个对象时,我都需要(重新)构建一个字符串。
现在我正在使用 ArrayList 并遍历所有键,但这真的很慢。那么存储对象的最快(和内存效率)方式是什么?