HashMap
HashMap是Java Collection Framework的重要成员,也是Map族(如下图所示)中我们最为常用的一种。简单地说,HashMap是基于哈希表的Map接口的实现,以Key-Value的形式存在,即存储的对象是Entry (同时包含了Key和Value) 。在HashMap中,其会根据hash算法来计算key-value的存储位置并进行快速存取。特别地,HashMap最多只允许一条Entry的键为Null(多条会覆盖),但允许多条Entry的值为Null。此外,HashMap是Map的一个非同步的实现。
HashMap实现了Map接口,并继承AbstractMap抽象类,其中Map接口定义了键值映射规则。和AbstractCollection抽象类在Collection族的作用类似, AbstractMap抽象类提供了Map接口的骨干实现,以最大限度地减少实现Map接口所需的工作。HashMap在JDK中的定义为:
public class HashMap<K,V>
extends AbstractMap<K,V>
implements Map<K,V>, Cloneable, Serializable{
...
}