【发布时间】:2023-03-17 12:39:01
【问题描述】:
如果您将 Java 短键映射到一些不可变对象,并且通常情况下,连续的短键序列(邻居)映射到相同的值,那么有一些映射结构可以让您节省更多内存一个hashmap,同时保持快速的访问速度(O(1)或O(log(N)))?
我可以反转映射,并且我会使用更少的内存,但是我必须通过每个映射来了解是否映射了特定的短,以及映射到什么 (O(N))。
我想某种树形图可以做到这一点;也许某些收藏库中有类似的东西?
【问题讨论】:
-
你能更好地了解有多少键和值吗?这组值是固定的吗?
-
我将短作为键,并将“短加可选数据”作为值。值 0-255 没有任何“可选数据”,可以“合并”。 所有键都需要映射,但由于估计有 50% 将映射到“0”,我打算简单地将它们排除在外并默认为“0”。虽然会有 65K 可能的值,其中一些具有“可选数据”,但我预计至少 90% 将在 1 到 10 之间,没有“可选数据”,并且可以合并这些值。相同值序列的平均长度约为 10。
标签: java data-structures map