Java HashMap实现在Entry类中具有"下一个"成员.有什么用呢

Sid*_*d K 7 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;
        }
   .....

}
Run Code Online (Sandbox Code Playgroud)

Lou*_*man 7

next 指同一个桶中的下一个条目.

您可以在每个存储桶中包含多个条目 - 存储桶包含所有条目,其中哈希码等于某些imod 2 ^ n n,而不仅仅是一个特定键的条目.

  • ...因为每个存储桶都是作为链表实现的 (2认同)
  • 您没有旧值的引用.`next`指的是一个完全不同的密钥的条目,恰好具有与哈希表大小相同的哈希码. (2认同)