Java集合框架&x27;s排序算法

Java集合框架&x27;s排序算法,java,algorithm,collections,Java,Algorithm,Collections,我试图理解Java Collections框架在默认情况下是如何对其集合进行排序的,我感到困惑,因为我了解到所有集合都是使用合并排序进行排序的。但当我查看Array类时,我看到了这一点:«实现者应该可以随意替换其他算法,只要遵守规范本身。(例如,排序(Object[])使用的算法不必是mergesort,但必须是稳定的。)»这意味着它还使用其他排序算法。那么,这些集合到底是如何排序的呢?对集合进行排序的代码随JRE/JDK一起提供 任何实现JRE/JDK的人都可以选择以任何方式实现它,只要它符合

我试图理解Java Collections框架在默认情况下是如何对其集合进行排序的,我感到困惑,因为我了解到所有集合都是使用合并排序进行排序的。但当我查看Array类时,我看到了这一点:«实现者应该可以随意替换其他算法,只要遵守规范本身。(例如,排序(Object[])使用的算法不必是mergesort,但必须是稳定的。)»这意味着它还使用其他排序算法。那么,这些集合到底是如何排序的呢?

对集合进行排序的代码随JRE/JDK一起提供

任何实现JRE/JDK的人都可以选择以任何方式实现它,只要它符合要求(即,它实际上正确地对集合进行排序,并且排序是稳定的)


一些实现可能会选择合并排序,其他实现可能会选择其他方式。不需要特定的实现。

除非您自己实现Arrays类,否则它将使用合并排序。此外,数组与Collections
Collections.sort
不同,它将委托给
Arrays.sort
,后者使用这些天。