2012-03-21 48 views
1

我在java/Android中使用Collection.sort(Array<objectX>, Comperator<objectX>)Collection.sort in如何实现?

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

我怎么知道这种排序的方法? (quicksort,mergesort ...)?

+0

http://stackoverflow.com/questions/732522/how-do-you-compare-2-items-in-a-通用列表 – 2012-03-21 10:07:39

回答

4

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

the documentation

例如,sort使用的算法不必是一个合并,但它必须是稳定的

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

+1

从Java 7开始,它使用了更令人敬畏的东西(尽管更复杂),称为TimSort。 – 2012-03-21 10:48:57

+0

啊。很高兴知道。 :-D – aioobe 2012-03-21 10:49:41

相关问题