【什么是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 。
推荐阅读
- 丰田卡罗拉油电混合油耗是多少
- 一汽丰田普拉多为什么停产
- 建设银行选什么信用卡
- 长毛德牧和短毛的区别是什么
- 苏打绿和吴青峰是一个人吗
- 633学制又叫什么学制
- 掌中之物傅慎行最后的信什么内容
- 硬金是什么金 值钱吗
- 梦见和老鼠打架是什么意思
- 梦见棺材是黑色