用Collections的sort方法排序一个类的多个对象
这个类一定要实现Comparable接口吧?
写好CompareTo方法后,再主函数里调用Collections.sort()才能实现排序
但是在jdk 的 src.zip 中java.util.Collections的源代码中
不带比较器的sort方法代码是:
public static <T extends Comparable<? super T>> void sort(List<T> list) {
Object[] a = list.toArray();
Arrays.sort(a);
ListIterator<T> i = list.listIterator();
for (int j=0; j<a.length; j++) {
i.next();
i.set((T)a[j]);
}
}
代码的意思是将列表转化为数组,对数组进行排序,再将数组元素逐一储存
到列表里,是这样吧?
里面并没涉及Comparable接口的compareTo方法,那么它是如何知道我的排序方式的呢 ?
翻过高山走不出你
慕后森
随时随地看视频慕课网APP
相关分类