请问Array类的具体用法是什么,帮助文档上写的不清楚,是在定义一个数组时就实例化了一个Array的对象吗??这个数组对象具有Array的方法吗?能给我个例子吗?谢谢!

解决方案 »

  1.   

    我在J2SE文档里并没有找到Array类啊?你是说的数组吧。
      

  2.   

    严格意上的数组应该是 int[],之类的吧,
    ArrayList 应该属于List的
      

  3.   

    【数组的初始化】1.int[] a1; int a2[];采用第一种方式较好
    2.拥有的只是对数组的引用,没有给数组分配存储空间,要写初始化表达式。初始化动作可以在代码的任何地方。用一对花括号只能在创建数组的地方出现。
    3.可以将一个数组赋值给另一个数组a1=a2;其实是复制了一个引用。
    4.a1.length,a1的最大索引是length-1。java有边界检查,但是会在时间和代码上有所开销。
    5.不能确定数组里有多少个元素,可以用new在数组里创建元素,尽管创建的是基本类型数组。不能用new创建单个的基本类型数据。
    static Random rand = new Random();
    int[] a;
    a = new int[rand.nextInt(20)];
    可见数组的创建是在运行时刻进行的,数组元素中的数据类型会自动初始化为“空”(数字和字符是0,boolean是false)。
    6.数组在定义的时候也可以初始化int[] a = new int[rand.nextInt(20)];尽量如此做。
    7.数组中的元素不是基本数据类型,那么你必须使用new。
    Integer[] a = new Integer[rand.nextInt(20)];
    它还只是个引用数组,指导通过创建新的Integer对象,并且把对象赋值给引用,初始化进程才结束:a[i]=new Integer[rand.nextInt(500))];
    如果使用数组中的空引用,就会在运行时刻产生异常。
    8.Integer[] a = {new Integer(1), new Integer(2), new Integer(3),};
    Integer[] b = new Integer[]{new Integer(1), new Integer(2), new Integer(3),};
    最后一个逗号可选。
    【多维数组】
    1.基本数据类型的多维数组
    int[][] a1 = {{1,2,3,}, {4,5,6,},};
    2.用new分配一个三位数组,这里正个数组分配是一次完成的。
    int[][][] a2 = new int[2][3][4];
    3.数组中用以构成矩阵的向量可以有任意的长度:
    int[][][] a3 = new int[rand.nextInt(7)][][];
    for(int i=0;i<a3.length;i++){
        a3[i] = new int[rand.nextInt(5)];
        for(int j=0;j<a3[i].length;j++){
            a3[i][j] = new int[rand.nextInt(5)];
        }
    }
    4.非基本数据类型的对象数组。
    Integer[][] a4={{new Integer(1), new Integer(2)}, {new Integer(3), new Integer(4)}, {new Integer(5), new Integer(6)},};
    5.逐步创建非基本类型的对象数组。
    Integer[][] a5;
    a5 = new Integer[3][];
    for(int i=0;i<a5.length;i++){
        a5[i] = new Integer[3];
        for(int j=0;j<a5[i].length;j++){
            a5[i][j]=new Integer(i*j);
        }
    }
    【Arrays类】
    1.java.util
    有一套static方法:
    equals()比较两个数组是否相等
    fill()用某个值填充整个数组
    sort()对数组进行排序
    binarySearch()在已经排序得数组中查找元素
    asList()接受任意得数组为参数,并将其转化为List容器
      

  4.   

    谢谢各位!!是Arrays类,不好意思,定义一个数组就是实例化一个Arrays类的对象了吗??我这样试了但这个对象没有Arrays类的方法!
      

  5.   

    不是哦,还有一个Array类和接口,具有一些get set的一些方法.
      

  6.   

    导入java.lang.reflect.Array包时,Array为类;
    导入java.sql.Array包时,Array为接口;
    应该是这样的吧,方法也都和帮助文档上的一样!