Java HashMap实现在Entry类中具有“下一个”成员。有什么用呢

时间:2012-12-11 19:01:22

标签: java hashmap

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;
        }
   .....

}

3 个答案:

答案 0 :(得分:7)

next指的是同一个存储桶中的下一个条目。

每个存储桶中可以有多个条目 - 一个存储桶包含 all 条目,其哈希码等于某些i的某些n mod 2 ^ n,而不是只是一个特定键的条目。

答案 1 :(得分:2)

如果多个项目哈希到同一个桶,则桶需要能够包含所有项目,因此在许多实现中它将成为某种类型的集合,如列表。

答案 2 :(得分:0)

用于将条目链接在一起。