HashMap的底层实现原理
jdk7:
HashMap map = new HashMap();
在实例化以后,底层创建了长度是16的一维数组Entry[] table。
map.put(key1,value1);
首先,调用key1所在类的hashcode()计算key1哈希值,此哈希值经过某种算法计算以后,得到在Entry数组中的存放位置。
如果此位置上的数据为空,此时的key1-value1添加成功。
如果此位置上的数据不为空,(意味着此位置上存在一个或多个数据(以链表形式存在)),比较key1和已经存在的一个或多个数据的哈希值
原创
2020-05-20 17:53:36 ·
281 阅读 ·
0 评论