细谈hashmap

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。

posted @ 2019-10-03 11:06  爱摇头的封三  阅读(112)  评论(0编辑  收藏  举报