Java-数组

java:数组
        用来存入具有相同数据类型的数值的数据结构。
        在java中数据可以看做是一种特殊的对象,可以把数组看作是一个同种类型变量的集合,在同一个数组中的所有数据都有相同的数据类型,并且使用统一的数组名,通过下标来区分数组中各个不同的元素。
        
数组创建:
        数组在使用前需要进行声明。声明有两种形式:
                ArrayType ArrayName[];
                ArrayType[] ArrayName;
                其中“[]”表明是一个数组,第二种声明方式 可以同时对多个数组进行声明,如:ArrayType[] ArrayName1, ArrayName2...;
        声明只是起变量名,还没有分配内存空间,此时还不能进行访问,可以用new来为数组分配内存空间。
                array1 = new int[5];    
        分配内存空间后,数组中就有了以下5个元素:
                array[0] ,array[1] ,array[2] ,array[3] ,array[4] ;
                数组的下标从0开始,

数组的初始化:
        初始化有两种方式 :
                1:int array1[] = new int[]{1,2,3,4,5};  先创建一个数据,然后将括号里的值赋值给这个数组;
                2:int array[] = {1,2,3,4,5};            将括号里的值赋值给一个创建好了的数组;
                3:int[] array = new int[5];
                     array[0] = 1; array[1] = 2; array[2] = 3; array[3] = 4; array[4] = 5; 
                这三种方式如果没有对所有元素进行赋值,系统会自动初始化一个默认值。
                
数组的使用:

        1:求数组的长度: length
        2:复制 array1 = array2;含义是两个数组类型变量都指向同一个数组,指向原来的array2所指向的数组。
        3:排序:    
        4:数组复制的方法是使用System类提供的arraycopy()方法,其语法如下:
                System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length);
                System.arraycopy(源数组,源数组中的起始位置,目标数组,目标数据中的起始位置,要复制的数组元素的数量);
        5:对数组的一些基本操作,像排序、搜索与比较等都是很常见的。在java中提供了Array是类可以协助您作这几个操作,Array是类位于java.util包中,他提供了几个方法可以直接使用。
        sort()     帮助您对指定的数组排序,所使用的是快速排序法
        binarySearch() 让您对已排序的数组进行二元搜索,如果找到指定的值就返回该值所在的索引,否则就返回负值
        fill()       当您配置一个数组之后,会依据数据类型来给定默认值。例如整数数组就初始值为0,可以使用Arrays.fill()方法将所有的元素设置为指定的值
        equals()                   比较两个数组中的元素值是否全部相等,如果是将返回true,否则返回false

        
多维数组:        
        使用多个索引来访问数组的元素,
        声明:
                int [] [] Two = new int[5][5];
        赋值:
                1:直接赋值:
                        Two = {{1,2,3,4,5},{2,3,4,5,6},{3,4,5,6,7},{4,5,6,7,8},{5,6,7,8,9}};
                2:用for循环赋值:
                        int k = 1;
                        for(int i=0; i<Two.length; i++){                        
                                for(int j=0; j<Two[i].length; j++){
                                        Two[i][j] = k++;
                                }
                        }
        在Java中多维数组实质上都是一维数组,Two.length表示是数组Two的行数,Two[i].length表示第i行的列数;



public class aaaa {

    public static void main(String[] args) {
        int intarray[];
        intarray = new int[5];
        
        Random rd = new Random();
        
        for(int i = 0 ; i < intarray.length; i++){
            intarray[i] = rd.nextInt(70);
        }
        
        System.out.println("排序前的数组元素为:");
        for(int a = 0; a < intarray.length; a++){
            System.out.print(intarray[a] + " ");
        }
        System.out.println();
        
        Arrays.sort(intarray);
        
        System.out.println("排序后的数组元素为:");
        for(int b : intarray){
            System.out.print(b + " ");
        }
        
    }
}        
原文地址:https://www.cnblogs.com/lzhat/p/4338828.html