Programul Kotlin pentru concatenarea a două matrice

În acest program, veți învăța să concatenați două matrici în Kotlin folosind matricea și fără aceasta.

Exemplul 1: concatenează două matrice utilizând aropia

 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)) )

Când rulați programul, ieșirea va fi:

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

În programul de mai sus, avem două tablouri întregi array1 și array2.

Pentru a combina (concatena) două matrice, găsim lungimea acesteia stocată în aLen și respectiv bLen. Apoi, creăm un nou rezultat de matrice întregi cu lungimea aLen + bLen.

Acum, pentru a combina la ambele, copiem fiecare element în ambele matrici pentru a rezulta folosind funcția arraycopy ().

arraycopy(array1, 0, result, 0, aLen)Funcția, în termeni simpli, spune programul pentru a copia matrice1 pornind de la indexul 0pentru a rezulta din indexul 0la ALEN.

La fel, for arraycopy(array2, 0, result, aLen, bLen)spune programului să copieze array2 începând de la index 0la de resultla index aLen la bLen.

Exemplul 2: Concatenează două matrice fără a utiliza aropia

 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)) )

Când rulați programul, ieșirea va fi:

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

În programul de mai sus, în loc să îl folosim arraycopy, copiem manual fiecare element din ambele matrice array1 și array2 pentru a rezulta.

Stocăm lungimea totală necesară pentru rezultat, adică array1.length + array2. length. Apoi, creăm un nou rezultat al matricei de lungime.

Acum, folosim pentru fiecare buclă pentru a parcurge fiecare element al matricei 1 și a-l stoca în rezultat. După atribuire, mărim poziția poz cu 1 pos++,.

La fel, facem același lucru pentru array2 și stocăm fiecare element în rezultat pornind de la poziția după array1.

Iată codul Java echivalent: program Java pentru concatenarea a două matrice.

Articole interesante...