
前言
HashMap可以说是面试的重中之重,去10家公司面试,8家都会问道,为什么大家都爱用HashMap打开话题?
HashMap是怎么实现的?
- jdk1.7的HashMap是用数组+链表实现的
- jdk1.8的HashMap是用数组+链表+红黑树实现的

HashMap的主干是一个数组,假设我们有3个键值对dnf:1,cf:2,lol:3,每次放的时候会根据key.hash % table.length(对象的hashcode进行一些操作后对数组的长度取余)确定这个键值对应该放在数组的哪个位位置
1 = indexFor(dnf),我们将键值对放在数组下标为1的位置