java之数组

一、声明数组

数组是引用类型,声明数组并没有分配空间,则该数组变量的值为null。

类型[]  数组名;

如:double[]   data;


二、创建数组

类型[]  数组名=new 类型[长度];

数组创建,数组里面的元素会被赋值,数值型基本数据类型的默认赋值为0char类型的默认值为'u000'boolean型的默认值为false


三、初始化数组

          数组初始化语句  

         类型[]   数组名={value0,value1,...};

         数组初始化语句必须在数组声明,创建时使用。

         类型[]   数组名=new 类型[]{value0,value1,...};

         类型[]   数组名=new 类型[长度]{value0,value1,...};          //长度必须与花括号里面数据的个数一致

         

        new String[0]创建数组,数组的长度为0的空数组。

         没有命令行输入时,main函数的args是对空数组的引用,而不是null。args.length为0。


四、数组复制

      数组复制有三种方法

1) 使用循环语句逐个复制

2)System类中的静态方法arraycopy

    arraycopy(souceArray,srcPos,targetArray,soucePos,length);

    souceArray     源数组

    srcPos            源数组开始复制下标

    targetArray     目标数组

    soucePos      目标数组开始保存下标

    length             复制的长度

3)使用clone方法复制数组

    int[]   a={1,2,3};

    int[]  b=a.clone();


五、Arrays类

         java.util.Arrays类包括许多静态方法

        sort或者parallelSort方法对数组或部分数组进行排序。

        例如:

         Arrays.sort(a);

        Arrays.parallelSort(a);    

        Arrays.sort(a,1,3);                  //对数组a[1]到a[3-1]进行升序排列

        Arrays.parallelSort(a,1,3);      //parallelSort方法多处理器时效果更好

        bianrySearch   数组必须升序排序好才能使用

        例如: Arrays.binarySearch(a,11);

        equals检测两个数组是否相等

        例如: Arrays.equals(a,b);

        fill方法填充整个数组或部分数组

        例如:

         Arrays.fill(a,5);               //整个数组填充5

         Arrays.fill(a,1,3,5);        //数组a[1]到a[3-1]填充5


六、二维数组或者更高维数组定义

        类型[][]  数组名=new 类型[长度1][长度2];      //长度2可以不写,代表定义一维数组的数组。数组定义是必须指定第一个下标

        二维数组其实是一个数组,它的元素是数组。各行的长度可以不同。

        数组名.length获取数组的长度。

    

七、可变参数列表

    类型  函数名(类型名...参数名)

    java将可变参看作数组对待,一个数组或可变的参数传递给可变参数。

    如:

int  method(int ... data){
      data[0]=2;
}
   int[] a={1,2,3};
   method(a);
   method(1,2,3);


、foreach迭代

     for(类型 value:数组或者集合){

            // value是集合或者数组的一个个元素

     }

    foreach迭代的效率比普通的for循环要高


原文地址:https://www.cnblogs.com/maokun/p/6710826.html