English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Dans ce programme, vous apprendrez à joindre deux tableaux dans Kotlin en utilisant arraycopy et sans utiliser 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)) }
Lors de l'exécution du programme, la sortie est la suivante :
[1, 2, 3, 4, 5, 6]
Dans le programme ci-dessus, nous avons deux tableaux d'entiers array1et array2.
Pour fusionner (joindre) deux tableaux, nous trouvons leurs longueurs respectives stockées dans aLen et bLen. Ensuite, nous créons un tableau de longueur aLen + bLen dans un nouveau tableau d'entiers result.
Maintenant, pour les combiner, nous utilisons la fonction arraycopy() pour copier chaque élément des deux tableaux dans result.
arraycopy(array1, 0, result, 0, aLen) la fonction, en termes simples, le programme copiera array1de copier à partir de l'index 0 à result et de copier à partir de l'index 0 à aLen.
De même, pour arraycopy(array2,0,result,aLen,bLen) indique au programme de copier array2de copier à partir de l'index 0 à result et de copier à partir de l'index aLen à 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)) }
Lors de l'exécution du programme, la sortie est la suivante :
[1, 2, 3, 4, 5, 6]
Dans le programme ci-dessus, nous n'avons pas utilisé arraycopy, mais avons copié manuellement l'array array1et array2dans result.
Nous stockons la longueur totale nécessaire pour result, c'est-à-dire chaque élément de array1.length + array2. length. Ensuite, nous créons un nouveau tableau de longueur result.
Maintenant, nous utilisons for-each boucle pour parcourir array1de chaque élément et le stocker dans le résultat. Après l'affectation, nous augmentons la position pos 1, pos++.
De la même manière, nous traitons array2Effectuer la même opération et partir de array1Commencer à stocker chaque élément de result à partir de la position suivante.
Voici le code Java équivalent :Programme Java pour connecter deux tableaux.