无论在java还是其它语言中,数组都是一个基本且重要的功能。在java中由于提供了丰富的数据结构类型,如:List、Set、Map等,这些类型提供了丰富的操作方法,因此很多程序员更倾向使用这些数据结构对象。其实在java也为数组提供了丰富的功能。
1.数组拷贝
如果希望将一个数组的所有值拷贝到另一个数组中去,可以使用System类的arraycopy方法。
调用语法为:System.arraycopy(Object from, int fromIndex, Object to, int toIndex, int count) , 含义为:从from数组的第fromIndex个元素拷贝到to数组的第toIndex个元素,共拷贝count个元素。
2.数组排序
如果要对数值型数组进行排序,可以使用Arrays类中的sort方法。
int[] a = new int[100];
...
Arrays.sort(a);
注意:参数a必须是数值型,可以是int、long、short、char、byte、float或double。
3.数组的查找
可以使用Arrays类中的binarySearch方法,该方法使用二分法进行查找,如果找到返回相应的下标,否则返回一个负值。
4.不规则数组
java语言中的数组与其它语言中的数组没有太大的区别,但还是存在着一些细微的差异,而这也正是java的优势所在。在java中并没有多维数组,只有一维数组,只不过数组中的每个具体值也可以是一个数组。基于此,我们可以方便地构造一个不规则数组,即数组的每一行有不同的长度。
int[][] a = new int[10][];
接下来,为每一行分配不同长度。
for(int n=0; n<a.length; n++)
a[n]= new [n+1];
这样的结果为:a[0]长度为1、a[1]长度为2,以此类推。
以下代码可遍历该二维数组:
for(int i=0;i<a.length;i++)
{
for(int j=0; j<a[i].length;j++)
{
System.out.println(a[i][j]);
}
}