1. 程式人生 > >java學習第42天,hashMap

java學習第42天,hashMap

1,hashMap 在存資料的時候,會先獲取key 通過Object 類 的 hashCode演算法獲取code 值 是一個整數 然後看這個整數對應的地址的 key 作equals比較是否返回 true 

如果返回 true 的話 就替換這個位置的資料 如果返回 false 的話 就新增進去

2,如果多個key value 對 計算之後的 hashCode 都一樣 但是 做 equals 比較返回的是fasle 那麼 這些元素是按照陣列的結構存到這個code 對應的地址 

3,如果hashCode都不一樣的話 查詢 hashMap 裡面元素的時候 一次就可以找到了 如果都相同的話 最多要找 n 次 

4,在重寫 類的 equals 方法的時候 應該把 hashCode 方法也重寫 要求不論 equals 比較是否返回true hashCode 都最好不相同 否則會影響hashMap 的效能

5,map 通過 T get(key); 獲取元素