在java.util类库中可以找到Arrays类,它有一套用于数组的static实用方法,其中有六个基本方法:equals()用于比较俩个数组是否相同(deepEquals()用于多维数组),fill用于填充测试数据,sort()用于对数组排序,binarySearch()用于在已经排序的数组中查找元素,toString()产生数组的String方法,hasCode()产生数组的散列吗,Arrays.asList()接受任何的序列或数组作为参数,并将其转变为List容器,

 

复制数组

java标准类库提供有static方法System.arraycopy(),用于复制数组,比用for循环要快的多,Sytem.arraycopy()针对所有类型做了重载。例如:

 

public class FillArrays{

	public static void main(String[] args){

		int[] i = new int[3];
		int[] j = new int[5];
		Arrays.fill(i,1);
		Arrays.fill(j,2);
		System.arraycopy(i,0,j,0,i.length);
		System.out.println(j);
		
	}
}

 

输出:j=[3,3,3,5,5]

 

arraycopy()需要的参数有:源数组,表示从原数组中的什么位置开始复制的偏移量,目标数组,表示从目标数组的什么位置开始复制的偏移量,以及需要复制的元素个数。当然,对数组的任何越界操作都会导致异常。

这个例子说明基本类型数组与对象数组都可以复制,然而,如果复制对象数组,,那么只是复制了对象的引用,---而不是对象本身的拷贝,这被称作浅复制,

 

 

数组的比较

java有俩中方式来提供比较功能,第一种是实现java.lang.Comparable接口,使你的类具有“天生”的比较能力,此接口很简单,只有compareTo()一个方法,此方法接受一个object作为参数,