Java - hashMap 鏈表是頭插還是尾插

1.JDK8以前是頭插法,JDK8後是尾插法

2.爲什麼要從頭插法改成尾插法?
A.因爲頭插法會造成死鏈,參考鏈接
B.JDK7用頭插是考慮到了一個所謂的熱點數據的點(新插入的數據可能會更早用到),但這其實是個僞命題,因爲JDK7中rehash的時候,舊鏈表遷移新鏈表的時候,如果在新表的數組索引位置相同,則鏈表元素會倒置(就是因爲頭插) 所以最後的結果 還是打亂了插入的順序 所以總的來看支撐JDK7使用頭插的這點原因也不足以支撐下去了 所以就乾脆換成尾插 一舉多得

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