English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Colección completa de ejemplos de Kotlin
En este programa, aprenderá a unir dos arrays en Kotlin utilizando arraycopy y 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 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.
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.