Collections的sort方法 排序

通过Collection的sort方法对List进行排序,有两种方法实现:

1. List<T>中的对象应继承Comparable接口,并实现其compareTo方法

//需要比较的对象类PersonH

//Main类测试
这中方式相当与类personH具备了指定的基本排序策略,因它实现了compareTo方法

2. 根据Collection.sort重载之,来实现
//PersonH类

//Main类

下面看一下该方法是如何进行排序的:

对于第一种:

可以看出是直接调用归并排序进行的。

对于第二种:

总之,两种方式都是通过mergeSort实现的。

首先看是否指定排序策略,如果没有,则和第一种走一样的逻辑;否则进行指定比较策略的归并排序。

mergeSort函数的源代码可以参考java.util.Arrays类。

你可能感兴趣的:(Collections)