问题出在降序的方法,reverseOrder这个方法返回的是一个比较器,它强行反转实现Comparable接口那些对象collection上的自然顺序。你上面reverseOrder()用法用错了,应该是这样的。- import java.util.ArrayList;
- import java.util.Collections;
- import java.util.Comparator;
- import java.util.Iterator;
- public class Example1{
-
- public static void main(String[] args) {
- ArrayList<Integer> al=new ArrayList<Integer>();
- al.add(22);
- al.add(10);
- al.add(2);
- al.add(5);
- Collections.shengxuSort(al);
- System.out.println(al);
- Collections.jiangxuSort(al);
- System.out.println(al);
-
- }
-
- }
- class Sort2 {
- public static void shengxuSort(ArrayList al){
- Collections.sort(al);
- }
-
- public static void jiangxuSort(ArrayList al){
- Collections.sort(al,Collections.reverseOrder());
- }
-
- }
复制代码 |