7

Java HashMap 实现在 Entry 私有类中具有“下一个”成员。因为,键的新值将覆盖旧值,Entry 类中“下一个”成员的用途是什么。

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

}
4

3 回答 3

7

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

您可以在每个存储桶中有多个条目 - 一个存储桶包含哈希码等于 some mod 2^n for some的所有条目,而不仅仅是一个特定键的条目。in

于 2012-12-11T19:03:12.570 回答
2

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

于 2012-12-11T19:03:39.037 回答
0

它用于将条目链接在一起。

于 2012-12-11T19:04:38.357 回答