HashMap裏面hashCode的原理

HashMap裏面hashCode的原理。

HashMap的結構:維護一數組,數組上存儲的是一個EntryKEY-VALUE)的鏈表。每次put()一個key-value的值,會先使用key通過hash算法、數組長度,生成一個int的下標,然後查看數組該下標下是否已經有值,即判斷數組該下標位置下的鏈表是否有值。如果沒有,就直接插入到該位置的鏈表上,否則,就比對該位置的鏈表有沒有存在該key,通過迭代鏈表對比key的值(e.hash == hash && ((k = e.key) == key || key.equals(k))),如果存在該key,就替換value,不然在鏈表後面插入該key-value的entry。

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