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()方法。