欢迎访问宙启技术站
智能推送

arraycopy()函数复制数组内容

发布时间:2023-07-04 14:09:15

arraycopy()函数是Java提供的一个用于复制数组内容的方法。它可以将一个数组的内容复制到另一个数组中,或者将一个数组的部分内容复制到另一个数组的指定位置。

使用arraycopy()方法需要指定源数组、源数组的起始位置、目标数组、目标数组的起始位置和要复制的元素数量。

具体的语法如下:

arraycopy(Object src, int srcPos, Object dest, int destPos, int length)

参数说明:

- src:源数组,即要复制的数组

- srcPos:源数组的起始位置,即从哪个位置开始复制

- dest:目标数组,即要将内容复制到的数组

- destPos:目标数组的起始位置,即将内容复制到哪个位置

- length:要复制的元素数量

下面演示一下arraycopy()函数的使用示例:

// 源数组
int[] srcArray = {1, 2, 3, 4, 5};
// 目标数组
int[] destArray = new int[5];

// 使用arraycopy()函数将源数组的内容复制到目标数组
System.arraycopy(srcArray, 0, destArray, 0, srcArray.length);

// 打印目标数组的内容
for (int i = 0; i < destArray.length; i++) {
    System.out.println(destArray[i]);
}

上述代码中,我们先创建了一个源数组srcArray和一个目标数组destArray。然后使用arraycopy()函数将源数组的内容复制到目标数组中。最后遍历目标数组,打印出复制后的内容。运行结果如下:

1
2
3
4
5

可以看到,目标数组destArray成功复制了源数组srcArray的内容。

arraycopy()函数不仅可以用于复制整个数组,还可以用于复制部分内容。例如,我们要将源数组的第2个元素到第4个元素复制到目标数组的第3个位置开始。代码示例如下:

// 源数组
int[] srcArray = {1, 2, 3, 4, 5};
// 目标数组
int[] destArray = new int[7];

// 使用arraycopy()函数将部分内容复制到目标数组
System.arraycopy(srcArray, 1, destArray, 3, 3);

// 打印目标数组的内容
for (int i = 0; i < destArray.length; i++) {
    System.out.println(destArray[i]);
}

运行结果如下:

0
0
0
2
3
4
0

可以看到,源数组的第2到4个元素被成功复制到了目标数组的第3个位置开始。其他位置的元素被填充为0。

总结:

arraycopy()函数是Java提供的用于复制数组内容的方法。它可以将一个数组的内容复制到另一个数组中,或者将一个数组的部分内容复制到另一个数组的指定位置。使用arraycopy()函数需要指定源数组、源数组的起始位置、目标数组、目标数组的起始位置和要复制的元素数量。该函数的使用非常灵活,可以根据需求进行不同范围的复制操作。