English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Programa de combinación de arrays en Kotlin

Colección completa de ejemplos de Kotlin

En este programa, aprenderá a unir dos arrays en Kotlin utilizando arraycopy y sin usar arraycopy.

Ejemplo1:Unir dos arrays usando 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))
}

Al ejecutar el programa, la salida es:

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

En el programa anterior, tenemos dos arrays de enteros array1y array2.

Para combinar (unir) dos arrays, encontramos sus longitudes almacenadas respectivamente en aLen y bLen. Luego, creamos un array de longitud aLen + bLen al nuevo array de enteros result.

Ahora, para combinarlos, utilizamos la función arraycopy() para copiar cada elemento de ambos arrays en result.

arraycopy(array1, 0, result, 0, aLen) la función, para decirlo de manera sencilla, el programa copiará array1Copiar desde el índice 0 a result y desde el índice 0 a aLen.

Del mismo modo, para arraycopy(array2, 0, result, aLen, bLen) informa al programa que copiará array2Copiar desde el índice 0 a result y desde el índice aLen a bLen.

Ejemplo2:Unir dos arrays sin usar 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))
}

Al ejecutar el programa, la salida es:

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

En el programa anterior, no utilizamos arraycopy, sino que copiamos manualmente el array array1y array2en result.

Almacenamos la longitud total necesaria para result, es decir, cada elemento de array1.length + array2. length. Luego, creamos un nuevo array de longitud result.

Ahora, usamos for-cada ciclo para recorrer array1de cada elemento y se almacena en el resultado. Después de la asignación, aumentamos la posición pos 1, pos++.

Del mismo modo, realizamos la misma operación en array2Realizar la misma operación y comenzar desde array1A partir de la posición siguiente, se almacena cada elemento de result.

Este es el código Java equivalente:Programa Java para conectar dos arrays.

Colección completa de ejemplos de Kotlin