哈希表的数据结构
HashMap底层数据结构是哈希表, 也叫散列表。
哈希表就是一个数组, 数组的每个元素是一个单向链表。
数组就是一种顺序存储结构, 特点是可以通过数组的下标(索引值)快速的访问数组的每个元素, 实现了随机访问; 在向数组中插入元素/删除元素时, 可能需要扩容,移动/复制元素,效率比较低。
单向链表就是一种链式存储结构, 特点插入/删除时,不需要移动元素,效率比较高;在访问元素时总是从头结点逐个访问,相对数组效率比较低。
HashMap的put(key,value)的工作原理