数组是一种数据结构, 用来存储同一类型值的集合。通过一个整型下标可以访问数组中的每一个值。例如, 如果 a 是一个整型数组, a[i] 就是数组中下标为 i 的整数。在声明数组变量时, 需要指出数组类型 ( 数据元素类型紧跟 []) 和数组变量的名字。下面声明了整型数组 a:
int[] a;
 不过, 这条语句只声明了变量 a, 并没有将 a 初始化为一个真正的数组。应该使用 new 运算符创建数组。
int[] a = new int[100];
 这条语句创建了一个可以存储 100 个整数的数组。数组长度不要求是常量: newint[n] 会创建一个长度为 n 的数组。
要想获得数组中的元素个数,可以使用 array.length。
public class TestArray {
public static void main(String[] args) {
// TODO Auto-generated method stub
int []a1 = new int[] {1, 2, 3, 4};
System.out.println("a1 length = [" + a1.length + "]");
int a2[] = {5, 6, 7, 8, 9};
System.out.println("a2 length = [" + a2.length + "]");
int []a3 = new int[100];
System.out.println("a3 length = [" + a3.length + "]");
}
}
数组拷贝
luckyNumbers = Arrays.copyOf(luckyNumbers , 2 * luckyNumbers.length);
public class TestArray {
public static void main(String[] args) {
// TODO Auto-generated method stub
int a2[] = {5, 6, 7, 8};
System.out.println("a2 = [" + a2.toString() + "]");
int []a3 = new int[100];
System.out.println("a3 length = [" + a3.length + "]");
System.out.println("a3 copy before= [" + a3.toString() + "]");
a3 = Arrays.copyOf(a2, a3.length);
System.out.println("a3 copy after= [" + a3.toString() + "]");
for(int i = 0; i < a3.length; i++) {
if(a3[i] == 0 )
{
break;
}
System.out.println("a3 copy c2 after a[" + i + "]= [" + a3[i] + "]");
}
}
}
java,util.Arrays 1.2
- static String toString(type[]a) 5 . 0
返回包含 a 中数据元素的字符  串, 这些数据元素被放在括号内, 并用逗号分隔。参数: a 类型为 int、long、short、 char、 byte、boolean、float 或 double 的数组。 - static type copyOf(type[]a, int length) 6
- static type copyOfRange(type[]a , int start, int end) 6
 返回与 a 类型相同的一个数组, 其长度为 length 或者 end-start, 数组元素为 a 的值。参数:a 类型为 int、 long、 short、 char、 byte、boolean、 float 或 double 的数组。
start 起始下标(包含这个值)0
end 终止下标(不包含这个值)。这个值可能大于 a.length。 在这种情况下,结果为 0 或 false。
length 拷贝的数据元素长度c 如果 length 值大于 a.length, 结果为 0 或 false ;否则, 数组中只有前面 length 个数据元素的拷 W 值。 參 - static void sort(type [ 2 a)
采用优化的快速排序算法对数组进行排序。参数:a 类型为 int、long、short、char、byte、boolean、float 或 double 的数组。 - static int binarySearch(type[]a , typev)
- static int binarySearch(type[]a, int start, int end, type v) 6
采用二分搜索算法查找值 v。如果查找成功, 则返回相应的下标值; 否则, 返回一个负数值 。r -r-1 是为保持 a 有序 v 应插入的位置。
参数:a 类型为 int、 long、 short、 char、 byte、 boolean 、 float 或 double 的有序数组。
start 起始下标(包含这个值)。
end 终止下标(不包含这个值。) v 同 a 的数据元素类型相同的值。 - static void fi11(type[]a , type v)
将数组的所有数据元素值设置为 V。
参数:a 类型为 int、 long、short、 char、byte、boolean、float 或 double 的数组。 v 与 a 数据元素类型相同的一个值。 - static boolean equals(type[]a, type[]b)
如果两个数组大小相同, 并且下标相同的元素都对应相等, 返回 true。
参数:a、 b 类型为 int、long、short、char、byte、boolean、float 或 double 的两个数组。