HashMap源码总结

具体的参考:

https://www.jianshu.com/p/17177c12f849

http://www.importnew.com/20386.html

个人总结:

1. 在JDk 8中如果发生hash碰撞,会在链表的尾部插入;而JDK 7是在链表的头部插入;

2. 在JDK 8中,当添加结点时链表的长度大于8,那么链表将会转化为红黑树;当移除结点时,当链表的结点不大于6时,将由红黑树shrink至链表;

3. 关于HashMap的容量为2的幂次方:原因便于数组索引提高效率。

原文地址:https://www.cnblogs.com/jayinnn/p/11050270.html