【问题标题】:How Collection.sort in is implemented?Collection.sort in 是如何实现的?
【发布时间】:2012-03-21 10:05:23
【问题描述】:

我在 java/Android 中使用 Collection.sort(Array<objectX>, Comperator<objectX>)

在我的 Comperator 中,我使用它们的 ID 比较两个对象。

我怎么知道这种方法是用什么方法制作的? (快速排序、归并排序...)?

【问题讨论】:

标签: java android sorting collections


【解决方案1】:

从技术上讲,没有指定使用哪种算法(换句话说,它是特定于运行时库的)。

来自the documentation

例如,sort 使用的算法不必是归并排序,但它必须是稳定的

在实践中,它通常根据列表的长度等选择几种排序技术中的一种。在 Sun/Oracle 的标准实现中,它在插入排序(如果长度小于 7)和合并排序之间进行选择,否则.

【讨论】:

  • 从 Java 7 开始,它使用了更棒的东西(尽管要复杂得多),称为 TimSort。
【解决方案2】:
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-11-23
  • 1970-01-01
  • 2017-07-07
  • 1970-01-01
  • 2011-03-25
  • 2022-01-12
  • 2015-12-15
相关资源
最近更新 更多