在hashmap中,null键的桶号是多少?我正在尝试学习hashmap的内部结构,如果任何人可以给我很好的视频教程,我将不胜感激。
答案 0 :(得分:1)
HashMap
,以不同方式处理null key
。
对于null key
,哈希码的默认值为0 ,first bin/bucket will be used to place it as per the HashMap implementation
来自HashMap类
static final int hash(Object key) {
int h;
return (key == null) ? 0 : (h = key.hashCode()) ^ (h >>> 16);
}
内部HashMap维护Entry类的数组(内部类) HashMap用于存储数据),也称为Bucket。 Entry类包含key,value,nextElement,hash-value变量。
使用null键的数据存储在Bucket位置0(数组索引0) 入门阵列)。空键的哈希值也为零。