为什么 Collections.sort 使用 Mergesort,而 Arrays.sort 不使用?
我使用的是 JDK-8 (x64)。对于(原语),我在Java文档中发现了以下内容:Arrays.sort
排序算法是Vladimir Yaroslavskiy,Jon Bentley和Joshua Bloch的Dual-Pivot Quicksort。
对于(对象),我发现这个“Timsort”:Collections.sort
此实现是一个稳定的、自适应的、迭代的合并排序...此实现将指定的列表转储到数组中,对数组进行排序,并循环访问列表,从数组中的相应位置重置每个元素。
如果使用数组,为什么它不直接调用或使用双透视快速排序?为什么使用 Mergesort?Collections.sort
Arrays.sort