什么是HashMap


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

    推薦閱讀