HashMap是基于哈希表的Map接口的非同步实现。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。

结构

HashMap实际上是一个“链表散列”的数据结构(数组和链表的结合体)。

JDK8新增了红黑树

HashMap结构.png

名词解释

bin:每个数组元素所在的链表或者树(?)被叫做bin。
bucket:数组中的每个“坑”就是一个bucket。

实例化

Put

Get

Remove