Java 的 HashMap 底层数据结构?
参考答案
结论:JDK1.8后HashMap底层为数组+链表+红黑树。核心要点:1.数组Node[] table作为桶,根据key的hash&(n-1)定位;2.哈希冲突时节点以链表挂载;3.链表长度≥8且数组容量≥64时转为红黑树,查询复杂度从O(n)降为O(log n);4.默认负载因子0.75,元素超阈值扩容2倍并重哈希;5.1.7及前为数组+链表且头插法,1.8改尾插法避免并发死循环。示例:put时先计算索引存入对应桶。
题目整理自公开面经,答案由校招宝自研生成,仅供参考