HashMap的Demo:
- 初始化插入第一个元素:
put()方法:put的第一个参数hash(key)根据key值计算hash。
hash(key)方法:当key为空,返回0;key不为空,返回h为key的hashCode值,异或h右移16位。
扰动函数:为了保证hash的散列尽量均匀。(将高位和低位进行异或操作,让高位值的不同也能对低位的值产生影响)
putVal()方法:
//第一放数据,创建的Node类型的数组里是空,没有对象,newNode新建一个Node对象把tab[i]放进去。