HashMap的存儲結構以及jdk1.8中對HashMap的優化

背景

衆所周知,HashMap可謂是用途普遍。那麼咱們在用的同時,有沒有思考HashMap的底層是怎樣的一種數據結構呢,是如何存取呢。數組

HashMap的數據結構

HashMap的數據結構是一個數組和鏈表的結合,一個HashMap是一個數組,當HashMap裏面出現相同的的key,便會使用鏈表進行儲存。 HashMap的數據結構數據結構

HashMap在jdk1.8中的優化

在1.8中,對HashMap進行了優化,其中最主要的優化即是對鏈表存儲的優化,即當鏈表長達大於8時,會將鏈表轉化爲紅黑樹進行存儲。具體能夠下圖,1.8中HashMap的put操做 1.8的put操做優化

相關文章
相關標籤/搜索