为什么LinkedList作为HashMap的存储区实现?

时间:2013-09-20 13:34:44

标签: hashmap bucket

我理解HashMap -collisions和所有内容的工作原理 - 试图理解更深层次的机制和入口桶的选择 - 而不是说一个数组(使它成为二维矩阵)?搜索两者都是O(n)操作?我假设一个可能使链接列表选择的因素是插入o(1)因子!这是正确的假设吗?

1 个答案:

答案 0 :(得分:1)

如果是Java,那么链表就是存储桶。表中的每个条目都是一个包含条目元素数组的链表。因为每个节点都知道列表旁边的内容,直到下一个引用为空时到达结尾为止。

还要检查: -

How does Java's Hashmap work internally?

阵列具有预定大小。因此,如果使用数组,则哈希表具有每个数组元素的预定大小。每个可能的桶都已分配,您的哈希表将变大。如果你有非常大的内存,这将是有意义的,但如果没有,那么使用链接列表并遍历列表以找到匹配。