Collections.sort和Arrays.sort的区别
Collections.sort专门给List排序,而Arrays.sort专门给数组进行排序。
Collections.sort排序底层调用的是Arrays.sort方法。如下面的部分源码:
public class Collections {
public static <T> void sort(List<T> list, Comparator<? super T> c) {
list.sort(c);
}
}
public class ArrayList<E> extends AbstractList<E>
implements List<E>, RandomAccess, Cloneable, java.io.Serializable
{
@Override
@SuppressWarnings("unchecked")
public void sort(Comparator<? super E> c) {
final int expectedModCount = modCount;
Arrays.sort((E[]) elementData, 0, size, c);
if (modCount != expectedModCount) {
throw new ConcurrentModificationException();
}
modCount++;
}
}
总结
如果我们需要对一个对象数组进行排序,我们可以使用Arrays.sort()方法。
如果我们需要排序一个对象列表,我们可以使用Collections.sort()方法。