数组的定义,例如:
int[] a=new int[100];
还可以初始化:
smallPrimes=new int[]{1,2,3,4};
在Java中允许数组的长度为0,如:new elementType[0],不过数组长度为0与null不同。
数组的拷贝:
用以下方法可以方便的将一个数组的内容拷贝到另一个数组:
System.arraycopy(源数组,源数组开始拷贝的索引,目标数组,目标数组开始接收的索引,拷贝个数);
例如:
System.arraycopy(smallPrimes,2,luckNumbers,3,4);
这句话的意思是,将smallPrimes中从第二个元素开始的往后的4个元素拷贝到luckNumbers中从第三个元素开始的位置。
Java的数组元素分配到堆里,Java中的[]运算符被预定义为检查数组边界,而没有指针运算,所以不能通过类似a+1得到数组的下一个元素。
数组的排序:
java.util.Arrays
对数值型数组进行排序:
int[] a=new int[10000];
...
Arrays.sort(a);
这个方法使用了优化的快速排序算法。
在Arrays中还有很多有趣的方法:
int binarySearch(a,v)
使用二分法查找v,找到则返回相应的下标,否则返回一个负值r,这个值是有意义的。
a:数组名,可以是int、long、short、char、byte、float或double
v:要查找的数
void fill(a,v)
把a用v填充。
boolean equals(a,b)
a和b两个数组长度一致,元素对应相等,则返回true。