HashMap采用了数组和链表的数据结构,能在查询和修改方便继承了数组的线性查找和链表的寻址修改,数组是HashMap的主体,链表则是主要为了解决哈希冲突而存在的. 解决哈希冲突的三个方法: a.开放定址法 又被称为再散列法,包括线性探测再散列.二次探测再散列.伪随机探测再散列 b.再哈希法 地址冲突后,对哈希结果再次进行哈希,直到不冲突为止 c.链地址法 冲突后的元素组成一个链指向当前地址(HashMap采用的该方式,只是当链表长度超过8后,就会把链表改为红黑树) 以下是具体的put过程(JD…