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