65,536 x 65,536の座標空間がいくつかあり、2つが同じ座標を共有できない多くのオブジェクトが配置されています。これを考えると、座標を作成する2つのショートを組み合わせて、ハッシュを作成するintにすることで、オブジェクトごとに一意のハッシュを保証できます。
これらのオブジェクトへの参照を保存するために、私は現在、カスタムの不変のPointクラスをキーとして持つHashMapを使用しています。しかし、私はこれらの座標空間の多くを一度に利用し始めたので、メモリ使用量を削減する方法を検討し始めました。
JavaのHashMapがどのように機能するかについての私の理解は基本ですが、オブジェクトごとに一意のハッシュを保証できることを考えると、はるかにメモリ効率の高いバージョンを使用できるようです。
- 複数のオブジェクトを含むことができるバケットを使用しません
- キーの代わりにハッシュを使用してオブジェクトを配置および取得できます
そのようなHashMapのようなコレクションは存在しますか?
編集:座標空間はまばらで、1つあたり約2000〜3000オブジェクトで実行されます。