Java教程

Java 连接两个数组的程序

连接两个数组的 Java 程序

在本程序中,您将学习使用和不使用 arraycopy 在 Java 中连接两个数组。
要理解此示例,您应该了解以下Java 编程主题:
Java 数组 Java for-each 循环

示例 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]
在上面的程序中,我们有两个整数数组 array1array2
为了组合(连接)两个数组,我们找到其长度分别存储在 aLenbLen 中。然后,我们创建一个新的整数数组结果,长度为 aLen + bLen
现在,为了将两者结合起来,我们使用 arraycopy() 函数将两个数组中的每个元素复制到结果。
arraycopy(array1, 0, result, 0, aLen)函数,简单来说就是告诉程序从索引 0 <开始复制 array1/code> 到 result 从索引 0aLen
同样,对于 arraycopy(array2, 0, result, aLen, bLen) 告诉程序将 array2 从索引 0 开始复制到 result 从索引 aLenbLen

示例 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));
    }
}
输出
[1, 2, 3, 4, 5, 6]
在上面的程序中,我们没有使用 arraycopy,而是手动将数组 array1array2的每个元素复制到 result .
我们存储 result所需的总 length,即 array1.length + array2、长度。然后,我们创建一个新的长度数组结果。
现在,我们使用 for-each 循环遍历 array1 的每个元素并将其存储在 result 中。赋值后,我们将位置 pos加1, pos++
同样,我们对 array2 做同样的事情,并将每个元素存储在 result 中,从 array1 之后的位置开始。
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4