4

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

4

1 回答 1

5

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

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

一些实现可能会选择合并排序,另一些可能会选择别的。不需要具体实现。

于 2013-03-19T15:54:26.067 回答