Java Collections Framework 的排序算法

标签 java algorithm collections

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

最佳答案

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

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

一些实现可能选择合并排序,其他实现可能选择其他东西。不需要具体实现。

关于Java Collections Framework 的排序算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15504174/

相关文章:

java - 创建 Gradle 测试任务的副本

java - 为什么要以如此复杂的方式完成?这是OOP的思维方式吗?

algorithm - 将任意数量的多边形组合在一起

java - (Java) 存储大量具有索引属性的对象

php - 把 Laravel Query 变成 Key Value?

java - 如何实现中值堆

java - 如何使用 Java 8 中新的 Date-Time API 获取当前时间?

c# - .NET 几何库

c++ - 在不破坏多字节序列的情况下找到最长的 UTF-8 序列

c# - 使用 lambda 表达式创建带反射的对象