Programa Kotlin para concatenar duas matrizes

Neste programa, você aprenderá a concatenar dois arrays em Kotlin usando arraycopy e sem ele.

Exemplo 1: concatenar duas matrizes 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)) )

Quando você executa o programa, a saída será:

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

No programa acima, temos duas matrizes de inteiros array1 e array2.

Para combinar (concatenar) dois arrays, encontramos seu comprimento armazenado em aLen e bLen, respectivamente. Em seguida, criamos um novo resultado de matriz de inteiros com comprimento aLen + bLen.

Agora, para combinar os dois, copiamos cada elemento em ambos os arrays para o resultado usando a função arraycopy ().

A arraycopy(array1, 0, result, 0, aLen)função, em termos simples, diz ao programa para copiar array1 começando do índice 0para o resultado do índice 0para aLen.

Da mesma forma, for arraycopy(array2, 0, result, aLen, bLen)diz ao programa para copiar array2 começando do índice 0para o resultíndice aLen para bLen.

Exemplo 2: concatenar duas matrizes sem usar 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)) )

Quando você executa o programa, a saída será:

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

No programa acima, em vez de usar arraycopy, copiamos manualmente cada elemento de ambos os arrays array1 e array2 para o resultado.

Armazenamos o comprimento total necessário para o resultado, ou seja array1.length + array2. length. Em seguida, criamos um novo resultado de matriz do comprimento.

Agora, usamos for-each loop para percorrer cada elemento de array1 e armazená-lo no resultado. Depois de atribuí-lo, aumentamos a posição pos em 1 pos++,.

Da mesma forma, fazemos o mesmo para array2 e armazenamos cada elemento no resultado a partir da posição após array1.

Aqui está o código Java equivalente: programa Java para concatenar dois arrays.

Artigos interessantes...