HashMap的构建及初始化
从HashMap的构造器开掰:
HashMap一共有四种构造器:
1.从源码中可以看出,构造器并没有初始化HashMap的数组大小,tableSizeFor这个方法中,根据入参的initialCapacity设置了threshold阈值的大小。
设置threshold大小的目的,当put时超过了threshold(阈值)的大小,就需要进行resize(扩容)了。
2.那么是在哪里设置了hashMap的大小?
在put()方法中调用的putVal()中设置的
reszie()方法 不仅仅初始化HashMap的大小
在达到了阈值后,进行的二倍扩容也是在再该方法中进行的