📜  java 将元素添加到现有数组 - Java (1)

📅  最后修改于: 2023-12-03 14:42:18.591000             🧑  作者: Mango

Java 将元素添加到现有数组 - Java

在 Java 中将元素添加到数组是一个常见的操作。虽然数组是固定长度的数据结构,但有时需要在现有数组中添加新元素或将一个数组与另一个数组相连。

以下是在 Java 中将元素添加到现有数组的几种方法。

方法1:使用 System.arraycopy
int[] arr1 = { 1, 2, 3 };
int[] arr2 = { 4, 5 };
int[] arr3 = new int[arr1.length + arr2.length];

System.arraycopy(arr1, 0, arr3, 0, arr1.length);
System.arraycopy(arr2, 0, arr3, arr1.length, arr2.length);

System.out.println(Arrays.toString(arr3)); // [1, 2, 3, 4, 5]

这里我们定义了三个不同的数组,arr1arr2,它们分别包含一些整数值。现在我们想将它们组合成一个新的数组,我们可以定义一个新的数组 arr3,它的长度等于arr1arr2长度之和,然后使用 System.arraycopy 方法将它们复制到新的数组中。System.arraycopy 方法需要源数组、源数组的起始位置、目标数组、目标位置以及要复制的长度作为参数。

方法2:使用 Arrays.copyOf 和 arraycopy
int[] arr1 = { 1, 2, 3 };
int[] arr2 = { 4, 5 };
int[] arr3 = Arrays.copyOf(arr1, arr1.length + arr2.length);

System.arraycopy(arr2, 0, arr3, arr1.length, arr2.length);

System.out.println(Arrays.toString(arr3)); // [1, 2, 3, 4, 5]

这里我们首先使用 Arrays.copyOf 方法创建了一个新的数组,它的长度等于 arr1arr2 长度之和。然后,我们使用 System.arraycopy 方法将 arr2 复制到新的数组中。这种方法比第一种方法更简单,因为我们不需要直接操作数组下标。

方法3:使用 ArrayList
int[] arr1 = { 1, 2, 3 };
int[] arr2 = { 4, 5 };
List<Integer> list = new ArrayList<>();

for (int i : arr1) {
    list.add(i);
}

for (int i : arr2) {
    list.add(i);
}

int[] arr3 = new int[list.size()];

for (int i = 0; i < arr3.length; i++) {
    arr3[i] = list.get(i);
}

System.out.println(Arrays.toString(arr3)); // [1, 2, 3, 4, 5]

我们可以使用 ArrayList 来动态添加元素,然后将它们复制到一个新的数组中。首先,我们在 list 中逐一添加 arr1arr2 的元素,然后使用 list.size() 创建一个新的数组 arr3。最后,我们使用循环将 list 中的元素复制到新的数组中。尽管这种方法增加了代码的复杂性,但它提供了更大的灵活性,可以允许更多的元素添加到数组中。

结论

Java 中有多种将元素添加到数组的方法。我们可以使用 System.arraycopyArrays.copyOf,也可以使用 ArrayList 来动态添加元素。选择使用哪种方法取决于具体情况,例如数组的大小、添加的元素数量等。