9.3-HashMap简单概述
9.3-HashMap简单概述
小u- HashMap 底层是⼀个数组
2.数组中每个元素是⼀个单向链表(即,采⽤拉链法解决哈希冲突)
- 单链表的节点每个节点是 Node<K, V> 类型(见下源码)
3.同⼀个单链表中所有 Node 的 hash值不⼀定⼀样,但是他们对应的数组下标⼀定⼀样
- 数组下标利⽤哈希函数/哈希算法根据 hash值计算得到的
4.HashMap 是数组和单链表的结合体
- 数组查询效率⾼,但是增删元素效率较低
- 单链表在随机增删元素⽅⾯效率较⾼,但是查询效率较低
- HashMap 将⼆者结合起来,充分它们各⾃的优点
5.HashMap 特点
- ⽆序、不可重复
- ⽆序:因为不⼀定挂在那个单链表上了
6.为什么不可重复?
- 通过重写 equals ⽅法保证的