我在这里阅读了一些关于 Arrays.sort 的线程,其中对原始类型使用“调整的快速排序”,对对象使用合并排序。我做了一个小测试来证明这一点,但我发现相反。
int a[] = new int[50000];
//Integer a[] = new Integer[50000];
for(int i=0; i<50000; i++) {
//a[i] = new Integer(new Random().nextInt(5000));
a[i] = new Random().nextInt(5000);
}
System.out.println(System.currentTimeMillis());
Arrays.sort(a);
System.out.println(System.currentTimeMillis());
对于原始类型数组,它需要 22 毫秒,而对于带有对象的数组,它需要 98 毫秒。我的笔记本电脑 i7 有 8 个内核和 8GB 内存。我运行不正确吗?
非常感谢!