九九百科網

位置:首頁 > 經驗 > 

什麼是HashMap

經驗1.15W

什麼是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。

標籤:HashMap