1 public HashMap(int initialCapacity, float loadFactor) {
2 //此处对传入的初始容量进行校验,最大不能超过MAXIMUM_CAPACITY = 1<<30(230)
3 if (initialCapacity < 0)
4 throw new IllegalArgumentException("Illegal initial capacity: " +
5 initialCapacity);
6 if (initialCapacity > MAXIMUM_CAPACITY)
7 initialCapacity = MAXIMUM_CAPACITY;
8 if (loadFactor <= 0 || Float.isNaN(loadFactor))
9 throw new IllegalArgumentException("Illegal load factor: " +
10 loadFactor);
11
12 this.loadFactor = loadFactor;
13 threshold = initialCapacity;
14
15 init();//init方法在HashMap中没有实际实现,不过在其子类如 linkedHashMap中就会有对应实现
16 }
1 3 if (initialCapacity < 0)
2 4 throw new IllegalArgumentException("Illegal initial capacity: " +
3 5 initialCapacity);