經驗

當前位置 /首頁/經驗 > /列表

什麼是HashMap

什麼是HashMap

HashMap內部是通過一個數組實現的,只是這個陣列比較特殊,數組裡儲存的元素是一個Entry實體(在JAVA8中為Node),這個Entry實體主要包含key、value以及一個指向自身的next指標。HashMap是基於hashing實現的,當進行put操作時,根據傳遞的key值得到它的hashcode,然後再用這個hashcode與陣列的長度進行模運算,得到一個int值,就是Entry要儲存在陣列的位置(下標);當通過get方法獲取指定key的值時,會根據這個key算出它的hash值(陣列下標),根據這個hash值獲取陣列下標對應的Entry,然後判斷Entry裡的key,hash值或者通過equals()比較是否與要查詢的相同,如果相同,返回value,否則的話,遍歷該連結串列(有可能就只有一個Entry,此時直接返回null),直到找到為止,否則返回null。

TAG標籤:HashMap #