1
我想了解Java中HashMap的內部實現。我對'createEntry'方法感到困惑。混淆Java HashMap createEntry方法
void createEntry(int hash, K key, V value, int bucketIndex) {
Entry<K,V> e = table[bucketIndex];
table[bucketIndex] = new Entry<>(hash, key, value, e);
size++;
}
它創建了一個條目對象的「e」,然後將其它把另一個條目對象,並將其存儲到水桶[bucketindex]和它也存儲的鍵和值。我無法理解這裏創建Entry對象'e'的目的。有人能解釋一下嗎?
問候
的http:// en.wikipedia.org/wiki/Hashtable#Separate_chaining –
'table [bucketIndex]'不*創建*條目。它*獲取存儲在'table'中'bucketIndex'索引處的條目。這是一個簡單的鏈接列表,其中新節點成爲列表的第一個節點。 –
(請注意,OpenJDK8代碼非常不同。) –