Collections.sort()和其他传统排序算法有什么区别?

时间:2015-11-23 01:08:57

标签: java algorithm sorting

假设我们有一个等于{1, 3, 2, 5, 4}的ArrayList arr,我们想按数字顺序对它进行排序。我们可以调用Collections.sort(arr)并对其进行排序,或者我们可以使用其他传统排序算法,例如快速排序或冒泡排序。

我的问题是,调用Collections.sort()和使用传统排序方法编写自己的排序算法有什么区别?

1 个答案:

答案 0 :(得分:2)

绝大多数情况下,应使用Java标准库中内置的排序方法。它们是通用的,高效的和可靠的。在需要自定义排序机制的情况下很少见。

需要自定义排序机制的案例可能是一个非常大的集合,众所周知,它几乎是一个很好的集合。已排序:查找和移动这些条目比重新排序集合更有效。但请注意,这并不意味着您需要编写自己的自定义排序机制 - 例如,TimSort是为此用例的子集设计的。对于您可以提出的任何情况,第三方库中可能存在可靠的机制。

除非您在异常域中编写处理大量数据的应用程序,否则您只需要Collections.sort