Kotlin 连接两个数组的程序

示例 1:使用 arraycopy 连接两个数组

import java.util.Arrays

fun main(args: Array<String>) {
    val array1 = intArrayOf(1, 2, 3)
    val array2 = intArrayOf(4, 5, 6)

    val aLen = array1.size
    val bLen = array2.size
    val result = IntArray(aLen + bLen)

    System.arraycopy(array1, 0, result, 0, aLen)
    System.arraycopy(array2, 0, result, aLen, bLen)

    println(Arrays.toString(result))
}

运行程序后,输出将是

[1, 2, 3, 4, 5, 6]

在上面的程序中,我们有两个整数数组 array1 和 array2。

为了组合(连接)两个数组,我们分别找到它们存储的长度 aLen 和 bLen。然后,我们创建一个长度为 aLen + bLen 的新整数数组 result。

现在,为了同时组合两者,我们使用 arraycopy() 函数将每个数组的元素复制到 result 中。

arraycopy(array1, 0, result, 0, aLen) 函数简单来说就是告诉程序从索引 0 开始将 array1 复制到 result 中,复制的长度为 aLen

同样,arraycopy(array2, 0, result, aLen, bLen) 告诉程序从索引 0 开始将 array2 复制到 result 中,从索引 aLen 开始复制,长度为 bLen


示例 2:不使用 arraycopy 连接两个数组

import java.util.Arrays

fun main(args: Array<String>) {
    val array1 = intArrayOf(1, 2, 3)
    val array2 = intArrayOf(4, 5, 6)

    val length = array1.size + array2.size

    val result = IntArray(length)
    var pos = 0
    for (element in array1) {
        result[pos] = element
        pos++
    }

    for (element in array2) {
        result[pos] = element
        pos++
    }

    println(Arrays.toString(result))
}

运行程序后,输出将是

[1, 2, 3, 4, 5, 6]

在上面的程序中,我们没有使用 arraycopy,而是手动将 array1array2 的每个元素复制到 result 中。

我们存储 result 所需的总 length,即 array1.length + array2. length。然后,我们创建一个长度为该长度的新数组 result。

现在,我们使用 for-each 循环遍历 array1 的每个元素,并将其存储在 result 中。存储后,我们将位置 pos 增加 1,即 pos++

同样,我们对 array2 执行相同的操作,并将每个元素存储在 result 中,从 array1 之后的那个位置开始。

以下是等效的 Java 代码:Java 连接两个数组的程序

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战