5
为什么Collections.sort使用Mergesort但Arrays.sort不使用?
我正在使用JDK-8(x64)。对于Arrays.sort(原始),我在Java文档中发现了以下内容: 排序算法是Vladimir Yaroslavskiy,Jon Bentley和Joshua Bloch编写的Dual-Pivot Quicksort。 对于Collections.sort(对象),我找到了“ Timsort”: 此实现是一个稳定的,自适应的,迭代的mergesort ...该实现将指定的列表转储到数组中,对数组进行排序,然后遍历列表,从数组中的相应位置重置每个元素。 如果Collections.sort使用数组,为什么不调用Arrays.sort或使用双轴QuickSort?为什么要使用Mergesort?