HashMap扩容的条件:
新建的HashMap容量为DEFAULT_INITIAL_CAPACITY=16,
系数DEFAULT_LOAD_FACTOR=0.75,
当第一次扩容时目前的元素数量>=DEFAULT_INITIAL_CAPACITY*DEFAULT_LOAD_FACTOR时,会将HashMap的容量扩大一倍(x2),一次类推每次加入数据时都会判断当前的元素数与容量的占比。
最大个数为Integer.MAX_VALUE即2147483648。
造成HashMap扩容的操作:
- putMapEntries():插入
- putVal()
- put()
- treeifyBin()
- merge():合并