23.說一下 HashMap 的實現原理?


hashMap基於hashing原理,我們通過put()和get()方法存儲和獲取對象。當我們將鍵值對傳給put()方法時;它調用鍵對象的hashCode()方法來計算hashCode,然后找到bucket位置來存值對象。當獲取對象時,通過鍵值對的equals()方法來找到正確的鍵值對。然后返回值對象。HashMap使用鏈表來解決碰撞問題,當發生碰撞時,對象會存儲在鏈表的下一個節點。hashMap在每個鏈表的階段存儲鍵值對對象。

當兩個不同的鍵對象hashCode相同時會發生什么?他們會存儲在同一個bucket位置的鏈表中。建對象的equals()方法用來找到鍵值對。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM