1,HashMap 的底层数据结构是哈希表 (散列表)
2, 哈希表的特点: 查询, 增删速度都快.
3, 哈希表的结构实际上是一个数组, 只不过数组中的每个节点都是一个单向链表.
4, 在使用 HashMap 的 put 方法时,(key,value), 首先会调用 key 的 hashcode 方法得到一个值, 再通过 hash 算法得到 hash 值, 这个值就是数组的下标, 再把 value 放入链表中. 单向链表中的每个节点的 hash 值相同. HashMap 的 get 方法同理获取 value. 插入链表时是要调用 equals 方法来决定是否插入, get 时也是调用 equals 方法来回去目标 value.
来源: http://www.bubuko.com/infodetail-2983564.html