Java HashMap实现在Entry私有类中具有“下一个”成员。因为,键的新值将覆盖旧值,在Entry类中使用“next”成员是什么。
static class Entry<K,V> implements Map.Entry<K,V> {
final K key;
V value;
Entry<K,V> next;
final int hash;
/**
* Creates new entry.
*/
Entry(int h, K k, V v, Entry<K,V> n) {
value = v;
next = n;
key = k;
hash = h;
}
.....
}
答案 0 :(得分:7)
next
指的是同一个存储桶中的下一个条目。
每个存储桶中可以有多个条目 - 一个存储桶包含 all 条目,其哈希码等于某些i
的某些n
mod 2 ^ n,而不是只是一个特定键的条目。
答案 1 :(得分:2)
如果多个项目哈希到同一个桶,则桶需要能够包含所有项目,因此在许多实现中它将成为某种类型的集合,如列表。
答案 2 :(得分:0)
用于将条目链接在一起。