问题集

来源:互联网 发布:开淘宝卖零食要什么证 编辑:程序博客网 时间:2024/05/22 05:07

Arrays.sort()和Collections.sort()方法的区别在哪?

问题描述: 都可以传入Comparator 进行自主的排序。

Collections.sort的代码为:

   Arrays.sort(a, (Comparator)c);        ListIterator i = list.listIterator();        for (int j=0; j<a.length; j++) {            i.next();            i.set(a[j]);        }
包装了Arrays.sort();但是后面的集合迭代set有什么用呢。我在代码中

public class Sort {    private static final Comparator<String> COMPARATOR = new Comparator<String>() {        public int compare(String o1, String o2) {            return new Integer(Integer.parseInt(o1)).compareTo(new Integer(Integer.parseInt(o2)));//运用User类的compareTo方法比较两个对象        }    };    public static void main(String[] args) {        List<String> list = new ArrayList<String>();        String[] params = {"5","11","22","13","24","35","6"};        Arrays.sort(params,COMPARATOR);        Collections.addAll(list, params);///       Collections.sort(list, COMPARATOR);        ListIterator i = list.listIterator();        for (int j=0; j<params.length; j++) {          System.out.println(  i.next());//            i.set(a[j]);        }     }}
注释了 源码中的i.set(a[j]);

打印出来的还是一样的。到底有什么区别呢。。//TODO


0 0