衆所周知,HashMap可謂是用途普遍。那麼咱們在用的同時,有沒有思考HashMap的底層是怎樣的一種數據結構呢,是如何存取呢。數組
HashMap的數據結構是一個數組和鏈表的結合,一個HashMap是一個數組,當HashMap裏面出現相同的的key,便會使用鏈表進行儲存。 數據結構
在1.8中,對HashMap進行了優化,其中最主要的優化即是對鏈表存儲的優化,即當鏈表長達大於8時,會將鏈表轉化爲紅黑樹進行存儲。具體能夠下圖,1.8中HashMap的put操做 優化