📜  Java中的数组复制(1)

📅  最后修改于: 2023-12-03 15:16:33.203000             🧑  作者: Mango

Java中的数组复制

Java中提供了多种复制数组的方法,本文将介绍其中的几种方法。

Array.copyOf()方法
public static <T> T[] copyOf​(T[] original, int newLength)

该方法将原始数组original复制到一个新数组中,并将新数组的长度设为newLength。如果新数组的长度大于原始数组的长度,则会在新数组的末尾填充默认值。如果新数组的长度小于原始数组的长度,则会截断原始数组中多余的元素。

下面的示例展示了如何使用Array.copyOf()方法将原始数组复制到一个新数组中。

int[] original = { 1, 2, 3 };
int[] copy = Arrays.copyOf(original, 5);

在上面的示例中,我们将原始数组original复制到一个新的数组中,新数组的长度为5。由于原始数组包含3个元素,因此复制后的新数组中填充了2个默认值。

System.arraycopy()方法
public static void arraycopy​(Object src, int srcPos, Object dest, int destPos, int length)

该方法将源数组src中的元素复制到目标数组dest中。srcPos参数指定从源数组的哪个下标开始复制,destPos参数指定从目标数组的哪个下标开始插入元素,length参数指定要复制的元素数量。

下面的示例展示了如何使用System.arraycopy()方法将原始数组复制到一个新数组中。

int[] original = { 1, 2, 3 };
int[] copy = new int[5];
System.arraycopy(original, 0, copy, 0, original.length);

在上面的示例中,我们将原始数组original复制到一个新的数组中,新数组的长度为5。由于原始数组包含3个元素,因此我们需要复制3个元素,因此我们指定了length参数为3。

Arrays.copyOfRange()方法
public static <T> T[] copyOfRange​(T[] original, int from, int to)

该方法将原始数组original中从from下标位置开始至to下标位置处的元素复制到一个新数组中。

下面的示例展示了如何使用Arrays.copyOfRange()方法将原始数组复制到一个新数组中。

int[] original = { 1, 2, 3, 4, 5 };
int[] copy = Arrays.copyOfRange(original, 1, 4);

在上面的示例中,我们将原始数组original中从下标为1的元素开始至下标为4的元素处(不包含下标为4的元素),复制到一个新的数组中。