一、定义
HashMap实现了Map接口,继承AbstractMap。其中Map接口定义了键映射到值的规则,而AbstractMap类提供 Map 接口主要方法的实现,以最大限度地减少实现此接口所需的工作,AbstractMap类也已经实现了Map。
public class HashMap<K,V> extends AbstractMap<K,V>
implements Map<K,V>, Cloneable, Serializable {
二、构造函数
HashMap提供了三个构造函数
HashMap() 构造一个具有默认初始容量 (16) 和默认加载因子 (0.75) 的空 HashMap
HashMap(int initialCapacity) 构造一个带指定初始容量和默认加载因子 (0.75) 的空 HashMap
HashMap(int initialCapacity, float loadFactor) 构造一个带指定初始容量和加载因子的空 HashMap
HashMap(Map<? extends K, ? extends V> m) Map类型的参数的构造方法
三、HashMap常用方法演示
HashMap存储数据的方式是键值对,key是唯一的,不可以重复的,所以,以相同的key 把不同的value插入到 Map中会导致旧元素被覆盖,只留下最后插入的元素 。
public static void main(String[] args) {
// TODO Auto-generated method stub
testCollection();
}
private static void testCollection() {
Map<String,Object> map=new HashMap<>();
map.put("solder1", new User("士兵1"));
map.put("solder2", new User("士兵2"));
System.out.println(map.get("solder1"));
System.out.println(map);
// 清空map
map.clear();
System.out.println(map);
// 相同的对象以不同的key值插入
User officer=new User("军官");
map.put("off1", officer);
map.put("off2", officer);
System.out.println(map);
}