Java:Collections.sort和Arrays.sort的区别

Posted 流楚丶格念

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java:Collections.sort和Arrays.sort的区别相关的知识,希望对你有一定的参考价值。

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

以上是关于Java:Collections.sort和Arrays.sort的区别的主要内容,如果未能解决你的问题,请参考以下文章

关于Java中Collections.sort和Arrays.sort的稳定性问题

39-java中Arrays.sort 和 collections.sort()总结

Java—集合框架 Collections.sort()Comparable接口和Comparator接口

java Collections.sort()实现List排序的默认方法和自定义方法

java Collections.sort()实现List排序的默认方法和自定义方法

java Collections.sort()实现List排序的默认方法和自定义方法