请阐述HashMap的底层原理。

答案解析

HashMap底层是数组+链表/红黑树。通过key的hash值定位数组槽,冲突时用链表(JDK8后链表长度超过阈值转红黑树),扩容时重新分布所有元素。