Java 数组的复制

    技术2022-07-15  59

    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

    Processed: 0.015, SQL: 9