import java.util.ArrayList;public class Test{     public static void main(String[] args){          ArrayList a = new ArrayList();
          a.add(50);
          a.add(10);
          a.add(30);
          a.add(20);          double[] aa = new double[a.size()];//建立一个具有 a 相同长度的空数组aa;
          []aa = a.toArray();//将a的数据拷贝到空数组 aa中;
          Arrays.sort(aa);//进行排序
          for   (int i   =0;   i   <   aa.length;   i++) 
          { 
          System.out.println(aa[i]); 
          } 
         
 
          }
     }
我是一个才学JAVA三天的菜鸟,对这个排序弄的有点头晕了,在百度上查了一个上午的答案,写出来的代码还是有问题,然望有前辈可以给予一下解答,上面的那三行代码是我自已理解的,我想知道解释是不是正确的,在次先谢谢各位啦!

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【chenlei8812】截止到2008-06-24 10:34:34的历史汇总数据(不包括此帖):
    发帖数:0                  发帖分:0                  
    结贴数:0                  结贴分:0                  
    未结数:0                  未结分:0                  
    结贴率:-------------------结分率:-------------------
    如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
      

  2.   

    你有勇气,不过没有仔细去看书首先 list只能加入对象的,所以你如果想要加入 数值的话,请转为包装类
    list.toArray()似乎也是转化成数组对象的,所以double[] aa应该是有问题的
      

  3.   

    package com.songbx.test;import java.util.ArrayList;
    import java.util.Arrays;public class Test {     public static void main(String[] args){            ArrayList a = new ArrayList(); 
              a.add(50); 
              a.add(10); 
              a.add(30); 
              a.add(20);            Object[] aa  = a.toArray(); //把引用传给它就行了
              Arrays.sort(aa);
              for  (int i  =0;  i  <  aa.length;  i++) 
              { 
              System.out.println(aa[i]); 
              }  
     } 
    }
    这样子运行正常了
      

  4.   

    public class Test{    public static void main(String[] args) {
    ArrayList a = new ArrayList();
            a.add(50);
            a.add(10);
            a.add(30);
            a.add(20); 
            Collections.sort(a);
            for  (int i  =0;  i  <  a.size();  i++)
            {
              System.out.println(a.get(i));
            } 
        }
    }
      

  5.   

    new double应该有点问题
    a.add(50)一般是加一个对象,但这样子也能运行正常,不知何解
      

  6.   

    建议看看API里面的Collections类,这是个静态工厂,包含了Collections的一些实用方法,比如要获得最大值,就有
    很简单的Collections.max(Collection c);这是根据自然顺序,还能自己指定顺序,当然扯远了,呵呵,去看看API就行了~