翻译来源 java.util.HashMap JDK1.7
HashMap API 所有翻译,请查看翻译目录。
构造函数
指定 initialCapacity
和loadFactor
使用指定的初始容量和装载因子构造一个空HashMap
。
public HashMap(int initialCapacity, float loadFactor) {// 初始容量、装载因子
if (initialCapacity < 0)
throw new IllegalArgumentException("Illegal initial capacity: " +
initialCapacity);
if (initialCapacity > MAXIMUM_CAPACITY)
initialCapacity = MAXIMUM_CAPACITY;
if (loadFactor <= 0 || Float.isNaN(loadFactor))
throw new IllegalArgumentException("Illegal load factor: " +
loadFactor);
this.loadFactor = loadFactor;
threshold = initialCapacity;
init();// 空方法,由子类实现,比如LinkedHashMap类。模板方法模式
}
指定 initialcapacity
使用指定的初始容量和默认的装载因子(0.75)构造一个空HashMap
。
public HashMap(int initialCapacity) {
this(initialCapacity, DEFAULT_LOAD_FACTOR);
}
无参构造
使用指定的初始容量(16)和默认的装载因子(0.75)构造一个空HashMap
。
public HashMap() {
this(DEFAULT_INITIAL_CAPACITY, DEFAULT_LOAD_FACTOR);
}
指定 Map
使用与指定Map相同的映射,来构造一个新的HashMap
。创建该HashMap
时,使用默认的装载因子(0.75)和足以(sufficient to)容纳指定Map中的映射的初始容量。
public HashMap(Map<? extends K, ? extends V> m) {
this(Math.max((int) (m.size() / DEFAULT_LOAD_FACTOR) + 1, //计算新初始容量
DEFAULT_INITIAL_CAPACITY), DEFAULT_LOAD_FACTOR); // 使用默认装载因子
inflateTable(threshold);
putAllForCreate(m);
}