2015-11-09 68 views

回答

1

HashMap,處理null key的方式不同。 對於null key哈希碼的默認值爲0first bin/bucket will be used to place it as per the HashMap implementation

從HashMap類

static final int hash(Object key) { 
     int h; 
     return (key == null) ? 0 : (h = key.hashCode())^(h >>> 16); 
    } 

內部HashMap中維護條目類(內部類用於存儲 HashMap中的陣列數據),也稱爲Bucket。 Entry類包含key,value,nextElement,哈希值變量。

具有空密鑰的數據存儲在存儲區位置0(數組索引0的 條目數組)中。空鍵的哈希值也爲零。

Source

+0

所以,段位置0意味着指數0吧? – TheLostMind

+0

@VinodMadyalkar是的,你是對的 –

+0

*如果你不知道桶,那麼遠離人...... * - 當你試圖告訴OP同樣的事情時得到的迴應。 LMAO – TheLostMind