为什么在Hashtable中有这么多的空引用

时间:2018-03-05 08:50:13

标签: java hashtable

enter image description here

我正在尝试调试Hashtable内容并且很好奇为什么有这么多Null引用init。

1 个答案:

答案 0 :(得分:1)

这就是哈希表的工作原理。 For reference

  

在计算中,哈希表(哈希映射)是一种数据结构   实现一个关联数组抽象数据类型,一个结构   可以将键映射到值。哈希表使用哈希函数进行计算   一个桶或槽数组的索引,从中可以得到   价值可以找到。

通常存在比桶更多的桶,这就是为什么有些桶是空的。

这对哈希表的性能非常重要。

  

哈希表的关键统计量是加载因子,定义为

     

load_factor = N / K

     

其中n是哈希表中占用的条目数。 k是数字   水桶随着负载因子变大,哈希表变为   更慢,甚至可能无法工作(取决于使用的方法)。   哈希表的预期常量时间属性假定为   负载系数保持在某个范围之下。对于固定数量的水桶,   查找的时间随着条目的数量而增长,因此   没有实现所需的恒定时间。