hashMap 是作为链表数组实现的吗

Vic*_*tor 5 java hashmap

在阅读相关内容时,HashMap我发现它是作为存储桶数组实现的?现在这些桶总是链表吗?如果是这样,为什么它们被称为桶而不是链表?

Ada*_*zyk 6

查看 的源代码HashMap告诉我们,它是作为 Entries 数组实现的:

transient Entry[] table;
Run Code Online (Sandbox Code Playgroud)

每个 Entry 都有一个 field next,因此它们创建一个链表结构:

static class Entry<K,V> implements Map.Entry<K,V> {
    final K key;
    V value;
    Entry<K,V> next;
Run Code Online (Sandbox Code Playgroud)

“桶”是一个更高级别的术语,用于文献和解释哈希图时。这里的“桶”被实现为单个链表。