hashmap 的实现 个人理解(如有不对,欢迎各位大神指正)
hashMap 可以看做数组和链表的结合体,数组的话是为了快速定位,(直接使用下标定位),链表结构:
链表结构的意义:
处理当hash值相同时的情况( 个人理解);
put方法:
获取键值的hash值,然后通过位运算确定存放数组的位置(下标):
当该下标位置已经存在对象时,将新对象存入链表中:
get方法:
获取键值的hash值,然后通过位运算确定存放数组的位置(下标)(和put一样),确定位置之后,比较对应的key是否相同,如果不相同继续比较其链表下的对象: