1、数组复制:Arrays.copyOf(原数组,新数组的长度);
注意:
该方法是创建新数组然后将原数组的值复制到新数组的过程。如果新数组的长度小于原数组的长度,则复制到原数组该长度的位置;如果新数组的长度大于原数组的长度,则剩余的长度会默认使用0进行填充。使用该方法的时候,要用新的数组进行接收原数组的复制结果。例:新数组arr1接收复制arr的结果,长度为arr的长度
int[] arr = new int[]{1,2,3,4,5}; int[] arr1 = Arrays.copyOf(arr,arr.length);遍历arr1输出:1,2,3,4,5
2、数组复制:Arrays.copyOfRange(原数组,fromIndex,toIndex);
fromIndex:原数组开始复制索引位置(包括)toIndex:原数组最后复制索引位置(不包括)例:将arr数组中的部分元素复制到新数组arr中
int[] arr = new int[]{1,2,3,4,5,6,7,8}; int[] arr1 = Arrays.copyOfRange(arr,2,6);遍历arr1输出:3,4,5,6
3、数组复制:System.arraycopy(src,srcPos,dest,destPos,length);
src:原数组srcPos:从原数组的其实位置dest:目标数组destPos:目标数组的其实位置length:要copy的长度注意:
因为该方法参数中已经指定了目标数组,所以这种复制数组的方法不需要用数组在前面接收了。当该语句执行完毕后,原数组里的元素,就已经按照要求,复制到了目标数组中了。例:将arr数组下标从1开始长度为3的值,复制到从arr1的下标为0的位置
int[] arr = {1,2,3,4,5}; int[] arr1 = new int[arr.length]; System.arraycopy(arr,1,arr1,0,3);遍历arr1输出:2,3,4,0,0