Programa Kotlin para concatenar dos matrices

En este programa, aprenderá a concatenar dos matrices en Kotlin usando arraycopy y sin ella.

Ejemplo 1: Concatenar dos matrices usando arraycopy

 import java.util.Arrays fun main(args: Array) ( 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)) )

Cuando ejecute el programa, la salida será:

 (1, 2, 3, 4, 5, 6)

En el programa anterior, tenemos dos matrices de enteros array1 y array2.

Para combinar (concatenar) dos matrices, encontramos su longitud almacenada en aLen y bLen respectivamente. Luego, creamos un nuevo resultado de matriz de enteros con longitud aLen + bLen.

Ahora, para combinar con ambos, copiamos cada elemento en ambos arreglos para obtener el resultado usando la función arraycopy ().

La arraycopy(array1, 0, result, 0, aLen)función, en términos simples, le dice al programa que copie array1 comenzando desde el índice 0hasta el resultado desde el índice 0hasta aLen.

Del mismo modo, for arraycopy(array2, 0, result, aLen, bLen)le dice al programa que copie array2 comenzando desde el índice 0hasta el resultíndice aLen hasta bLen.

Ejemplo 2: concatenar dos matrices sin utilizar arraycopy

 import java.util.Arrays fun main(args: Array) ( 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)) )

Cuando ejecute el programa, la salida será:

 (1, 2, 3, 4, 5, 6)

En el programa anterior, en lugar de usar arraycopy, copiamos manualmente cada elemento de las matrices array1 y array2 al resultado.

Almacenamos la longitud total requerida para el resultado, es decir array1.length + array2. length. Luego, creamos un nuevo resultado de matriz de la longitud.

Ahora, usamos for-each loop para recorrer cada elemento de array1 y almacenarlo en el resultado. Después de asignarlo, aumentamos la posición pos por 1, pos++.

Asimismo, hacemos lo mismo para array2 y almacenamos cada elemento en el resultado comenzando desde la posición después de array1.

Aquí está el código Java equivalente: programa Java para concatenar dos matrices.

Articulos interesantes...