可以通过哈希访问的Java HashMap

时间:2016-01-26 22:23:10

标签: java hashmap overhead

我想用Java创建一个地图,所以我想HashMap。但是现在,我想克服散列引入的开销。基本上有一些对象可以在很短的时间内为地图保存一个键 - 但其中很多都是,并经常轮询/替换一个值。所以我认为每次调用get()set()时散列密钥的开销都很大,也可以克服。所以我想到了,用密钥保存密钥的哈希值 - 并减少开销。

在Java中,get()set()是否可以使用密钥和密钥的预先计算哈希值 - 当然,从映射中获取该密钥以保持一致性以避免开销映射必须散列密钥?

1 个答案:

答案 0 :(得分:2)

对象可以缓存其哈希码,因此当它被重复用作密钥时,可以消除散列开销。例如,java.lang.String执行此操作。 Integer类有效地做同样的事情。您的自定义密钥类可以遵循此模式。