Programme Kotlin pour concaténer deux tableaux

Dans ce programme, vous apprendrez à concaténer deux tableaux dans Kotlin en utilisant arraycopy et sans lui.

Exemple 1: concaténer deux tableaux à l'aide de 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)) )

Lorsque vous exécutez le programme, la sortie sera:

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

Dans le programme ci-dessus, nous avons deux tableaux d'entiers array1 et array2.

Afin de combiner (concaténer) deux tableaux, nous trouvons sa longueur stockée respectivement dans aLen et bLen. Ensuite, nous créons un nouveau résultat de tableau d'entiers avec une longueur aLen + bLen.

Maintenant, afin de combiner les deux, nous copions chaque élément dans les deux tableaux pour obtenir le résultat en utilisant la fonction arraycopy ().

La arraycopy(array1, 0, result, 0, aLen)fonction, en termes simples, indique au programme de copier array1 à partir de l'index 0vers le résultat de l'index 0vers aLen.

De même, for arraycopy(array2, 0, result, aLen, bLen)indique au programme de copier array2 à partir de l'index 0vers l' resultindex aLen vers bLen.

Exemple 2: concaténer deux tableaux sans utiliser 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)) )

Lorsque vous exécutez le programme, la sortie sera:

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

Dans le programme ci-dessus, au lieu d'utiliser arraycopy, nous copions manuellement chaque élément des deux tableaux array1 et array2 au résultat.

Nous stockons la longueur totale requise pour le résultat, c'est-à-dire array1.length + array2. length. Ensuite, nous créons un nouveau tableau résultat de la longueur.

Maintenant, nous utilisons la boucle for-each pour parcourir chaque élément de array1 et le stocker dans le résultat. Après l' attribution, nous augmentons la position pos par 1, pos++.

De même, nous faisons de même pour array2 et stockons chaque élément dans result à partir de la position après array1.

Voici le code Java équivalent: programme Java pour concaténer deux tableaux.

Articles intéressants...