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操作

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章