hashmap 底层是通过 entry[] 数组实现的 ,entry[] 内部保存的是 key-value, 当 put 一个 key-value 时 hashmap 的内部过程是 算出 key 的 hash 值 去数组中查找这个位置是否有数据, 若无, put 成功 若有 则比较 equals 是否相等 若相等则覆盖原有的 value, 若不相等则存储 key-value 到这个 hash 值得地址中 , 这就存在了 一对多 (一个 key 对应多个 value)
当 get 根据 key 的 hash 值去 entry 数组时查找那个 key 若发现 hash 值对应的地址里面 存在多个 key 则用 equals 比较来选择出要获取的那个 key-vlaue.
来源: http://www.bubuko.com/infodetail-3223298.html