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 } }
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 } }