Java程序连接两个数组
要理解此示例,你需要了解以下Java 编程主题:
示例 1:使用 arraycopy 拼接两个数组
import java.util.Arrays;
public class Concat {
public static void main(String[] args) {
int[] array1 = {1, 2, 3};
int[] array2 = {4, 5, 6};
int aLen = array1.length;
int bLen = array2.length;
int[] result = new int[aLen + bLen];
System.arraycopy(array1, 0, result, 0, aLen);
System.arraycopy(array2, 0, result, aLen, bLen);
System.out.println(Arrays.toString(result));
}
}
输出
[1, 2, 3, 4, 5, 6]
在上述程序中,我们有两个整型数组 array1
和 array2
。
为了组合(拼接)两个数组,我们分别找到它们的长度并存储在 aLen
和 bLen
中。然后,我们创建一个新的整型数组 result
,长度为 aLen + bLen
。
现在,为了组合它们,我们使用 arraycopy()
函数将两个数组中的每个元素复制到 result
中。
arraycopy(array1, 0, result, 0, aLen)
函数简单来说,告诉程序从 array1
的索引 0
开始复制到 result
的索引 0
到 aLen
。
同样地,arraycopy(array2, 0, result, aLen, bLen)
告诉程序从 array2
的索引 0
开始复制到 result
的索引 aLen
到 bLen
。
示例 2:不使用 arraycopy 拼接两个数组
import java.util.Arrays;
public class Concat {
public static void main(String[] args) {
int[] array1 = {1, 2, 3};
int[] array2 = {4, 5, 6};
int length = array1.length + array2.length;
int[] result = new int[length];
int pos = 0;
for (int element : array1) {
result[pos] = element;
pos++;
}
for (int element : array2) {
result[pos] = element;
pos++;
}
System.out.println(Arrays.toString(result));
}
}