标签:
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 + " "); } } }
标签:
原文地址:http://www.cnblogs.com/lzhat/p/4338828.html