HashMap源码解析
https://www.cnblogs.com/zhaojj/p/7805376.html
ConcurrentHashMap源码解析
https://www.cnblogs.com/zhaojj/p/8942647.html
包含了hashmap的连环问
HashMap
put操作:
1.如果是没有hash冲突,直接把元素存在table[i]
2.如果有hash冲突:
2.1.如果table[i]的value和新的value相等,新值替换老值
2.2.如果table[i]是treeNode,就用红黑树插入
2.3.如果table[i]不是treeNode,就挂载到链表的尾部
3.链表超过8个元素,就要变成红黑树
4.扩容问题:map的元素超过threshold,会调用resize方法进行扩容。每次进行2倍扩容和数据转移
网友评论