Java中的数组

来源:互联网 发布:mac svn 版本号 编辑:程序博客网 时间:2024/06/05 08:25

数组的定义,例如:

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。