为什么创建哈希映射比创建对象更快[]?
2022-09-01 01:01:51
我试图构建自己的Map来提高特殊环境的性能,我意识到了一件非常有趣的事情:创建a比 - 无论我以什么顺序执行这些命令都要快。这对我来说非常令人困惑,特别是因为哈希映射构造函数包含一个,根据这个。我的测试平台有问题吗?new Hashmap<Integer,String>(2000)
new Object[2000]
table = new Entry[capacity]
public static void test(int amm){ //amm=1_000_000
Map<Integer,String> m1 = null;
Object[] arr = null;
long time = System.nanoTime();
for(int i = 0; i < amm; i++){
m1 = new HashMap<Integer, String>(2000);
}
System.out.println("m1: " + (System.nanoTime() - time)); //m1: 70_455_065
time = System.nanoTime();
for(int i = 0; i < amm; i++){
arr = new Object[2000];
}
System.out.println("arr: " + (System.nanoTime() - time)); //arr: 1_322_473_803
}
我很想在另一台计算机上看到测试结果。我不知道为什么创建一个比创建一个快10倍。HashMap
Object[]