密钥是否具有到内存位置的哈希表映射?

时间:2012-12-11 16:16:12

标签: java hash dictionary

当您在哈希中插入项目时,密钥是否会被编码到物理内存空间,因此查找时间非常快?即不断查找时间。

2 个答案:

答案 0 :(得分:3)

通过使用Entry引用数组,它具有接近恒定的查找时间(假设您有大量的碰撞)。

Java不会直接操作地址位置,因为GC可以随时更改这些位置。

答案 1 :(得分:0)

哈希表的想法是将项目存储在一个数组中,索引的计算速度非常快(在java的Hashtable中调用密钥的hashcode()方法,并且它是用于获取索引(以表的长度为模))。

当表格不是太满时,此表中此索引处的元素(链接)很少。寻找元素只是将它们的键与传递的键进行比较。

所以这是一张几乎空桌子的恒定时间,但是当桌子变满时会持续一段时间,因为碰撞意味着你有更多的比较要做。