假设我们有一个等于{1, 3, 2, 5, 4}
的ArrayList arr,我们想按数字顺序对它进行排序。我们可以调用Collections.sort(arr)
并对其进行排序,或者我们可以使用其他传统排序算法,例如快速排序或冒泡排序。
我的问题是,调用Collections.sort()
和使用传统排序方法编写自己的排序算法有什么区别?
答案 0 :(得分:2)
绝大多数情况下,应使用Java标准库中内置的排序方法。它们是通用的,高效的和可靠的。在需要自定义排序机制的情况下很少见。
需要自定义排序机制的案例可能是一个非常大的集合,众所周知,它几乎是一个很好的集合。已排序:查找和移动这些条目比重新排序集合更有效。但请注意,这并不意味着您需要编写自己的自定义排序机制 - 例如,TimSort是为此用例的子集设计的。对于您可以提出的任何情况,第三方库中可能存在可靠的机制。
除非您在异常域中编写处理大量数据的应用程序,否则您只需要Collections.sort
。