HashMap底層用到了什么資料結構?
1.用到了陣列,鏈表,紅黑樹結構 ,
2.陣列長度是16,每個元素都是key-value結構, 元素存盤到%75(0.75負載因子)進行 2倍擴容,
3.存盤元素的演算法是 hash(key) % 16 根據key進行hash計算得到的值來對陣列長度16 取模,余數作為元素在陣列中的存盤索引位置,
4.鏈表為了解決Hash沖突 , 不同的key進行 hash計算可能hash值一樣,那么技術出來的存盤索引位置也一樣,這叫hash沖突,HashMap使用鏈表的方式來解決Hash沖突,就是在當前索引位置的元素上向下拖一個鏈表,
5.紅黑樹是為了提高查詢速度了,因為鏈表過長,查詢速度會很慢,紅黑樹能提高查詢速度 ,當鏈表長度達到 8 編程 紅黑樹,當鏈表長度 小于 6 編程鏈表,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/254808.html
標籤:區塊鏈
上一篇:通過vuecli創建vue
