double A[]={111,23,456,23}
Collections.sort(A);
排序后为111,23,23,456
不知道为什么???

解决方案 »

  1.   

    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.Comparator;
    import java.util.List;public class CollectionsSort {
        public CollectionsSort() {
            
        }
        public static void main(String[] args) {
            double array[]={111,23,456,23};
            List list = new ArrayList();
            System.out.println("--before sort--");
            for(int i=0; i<array.length; i++) {
                System.out.println("list[" + i + "]=" + array[i]);
                list.add(new Double(array[i]));
            }
            
            Collections.sort(list);
            System.out.println("--after sort--");
            for(int i=0; i<array.length; i++) {
                System.out.println("list[" + i + "]=" + list.get(i));
            }
        }
    }
      

  2.   

    看看源代码的原理吧
    sort内的对象需要实现comparable接口
    告诉sort方法对什么进行排序,如何比较大小
      

  3.   

    Collections.sort(List list);
    Arrays.sort(Object[] arr);