区别


如果我们需要对一个对象数组进行排序,我们可以使用Arrays.sort()方法。

如果我们需要排序一个对象列表,我们可以使用Collections.sort()方法。


Collections.sort内部实现也是Arrays.sort()


Arrays.sort()


Arrays.sort() 采用了2种排序算法 -- 基本类型数据使用快速排序法,对象数组使用归并排序。

在Java 6中Arrays.sort()和Collections.sort()使用的是MergeSort,而在Java 7中,内部实现换成了​​TimSort​​(对象Collections列表或Arrays数组,基本类型数据Arrays仍然使用快排),其对对象间比较的实现要求更加严格。