hashMap
构造方法
设置负载因子0.75
put
添加key和val
并将key hash传过去
获得key的hash值 hash值右移16位(高16位移到低16位)
将hash与位移的结果异或(有一为1 全零为0)不影响高16位 异或结果不会变化 只将低16位异或更加散列 称为扰动函数。
putVal
1.如果table为空 则默认初始化一个长度为16的空node数组
resize()
2.如果计算后的下标i 在table中没有数据 那么直接在i处 新增node节点
3.如果当前下边已经有值 执行以下逻辑
treeifyBin
resize
会将链表填充在高低位中 起到分散的作用