Java_数组操作

1. 使用System的类方法实现数组拷贝

public class Temp {
	public static void main (String args[]) {
		int array_a [] = new int [] {5,34,15,27,96,63,78,47,50,82};
		int array_b [] = new int [] {0,0,0,0,0,0,0,0,0,0};		
		//数组拷贝。原型:static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length) 
		//注意,是数组拷贝,而不是插入。被拷贝的内容会替换原数组的内容。
		System.arraycopy(array_b, 2, array_a, 3, 5);
		for (int x : array_a)
			System.out.print(x + " ");
		//输出:5 34 15 0 0 0 0 0 50 82
		//如果选取的srcPos或destPos后面没有length个对象,则会报java.lang.ArrayIndexOutOfBoundsException
	}
}

2. 使用java.util.Arrays的类方法实现数组排序、查找、复制和赋值

public class Temp {
	public static void main (String args[]) {
		int array_a [] = new int [] {5,34,15,27,96,63,78,47,50,82};
		
		//数组排序
		java.util.Arrays.sort(array_a);
		for (int x : array_a)
			System.out.print(x + " ");
		//输出:5 15 27 34 47 50 63 78 82 96
				
		//数组查找
		//这个方法查询key元素值在a数组中出现的索引;如果a数组不包含key元素值,则返回-1.调用该方法时要求数组中元素已经按升序排列,这样才能得到正确结果
		System.out.println(java.util.Arrays.binarySearch(array_a, 34));	//输出:3
				
		//复制新数组
		//这个方法将会把original数组复制成一个新数组,其中length是新数组的长度。如果length小于original数组的长度,则新数组就是原数组的前面length个元素;如果length大于original数组的长度,则新数组的前面元素就是原数组的所个元素,后面补充0(数值型)、false(布尔型)或者null(引用型)
		int array_new [] = java.util.Arrays.copyOf(array_a, 12);
		for (int x : array_new)
			System.out.print(x + " ");
		//输出:5 15 27 34 47 50 63 78 82 96 0 0
	
		//按范围复制新数组
		//这个方法与前面方法相似,但这个方法只复制original数组的from索引到to索引的元素
		array_new = java.util.Arrays.copyOfRange(array_a, 0, 3);
		for (int x : array_new)
			System.out.print(x + " ");
		//输出:5 15 27
				
		//赋值(所有元素)
		java.util.Arrays.fill(array_a, 0);
		for (int x : array_a)
			System.out.print(x + " ");
		//输出:0 0 0 0 0 0 0 0 0 0
				
		//赋值(范围元素)
		java.util.Arrays.fill(array_a, 0, 5, 1);
		for (int x : array_a)
			System.out.print(x + " ");
		//输出:1 1 1 1 1 0 0 0 0 0
	}
}


你可能感兴趣的:(java,object,String,null,System,Class)