反而是未初始化容量的hashMap效率高
public static void main(String[] args) {
int end = 10000000;
HashMap<Integer, Integer> map = new HashMap<>();
long l = System.currentTimeMillis();
for (int i=0;i<end;i++){
map.put(i,i);
}
long l1 = System.currentTimeMillis();
System.out.println("默认容量消耗时间:"+ (l1-l));
HashMap<Integer, Integer> map1 = new HashMap<>(end/2);
long s = System.currentTimeMillis();
for (int i=0;i<end;i++){
map1.put(i,i);
}
long s1 = System.currentTimeMillis();
System.out.println("指定容量5,000,000消耗时间:"+ (s1-s));
HashMap<Integer, Integer> map2 = new HashMap<>(end);
long m = System.currentTimeMillis();
for (int i=0;i<end;i++){
map2.put(i,i);
}
long m1 = System.currentTimeMillis();
System.out.println("指定容量10000000消耗时间:"+ (m1-m));
}