Kotlin-program til sammenkædning af to arrays

I dette program lærer du at sammenkæde to arrays i Kotlin ved hjælp af arraycopy og uden den.

Eksempel 1: Sammenkæd to arrays ved hjælp af 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)) )

Når du kører programmet, vil output være:

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

I ovenstående program har vi to heltal arrays array1 og array2.

For at kombinere (sammenkæde) to arrays finder vi dens længde gemt i henholdsvis aLen og bLen. Derefter opretter vi et nyt heltal array-resultat med længde aLen + bLen.

For at kombinere til begge dele kopierer vi nu hvert element i begge arrays for at få resultatet ved hjælp af arraycopy () -funktionen.

Den arraycopy(array1, 0, result, 0, aLen)funktion, i enkle vendinger, fortæller programmet til at kopiere matrix1 startende fra indeks 0at resultere fra indeks 0til Alen.

Ligeledes for arraycopy(array2, 0, result, aLen, bLen)fortæller programmet at kopiere array2 startende fra indeks 0til resultfra indeks aLen til bLen.

Eksempel 2: Sammenkæd to arrays uden at bruge 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)) )

Når du kører programmet, vil output være:

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

I ovenstående program arraycopykopierer vi manuelt hvert element i begge arrays array1 og array2 i stedet for at bruge det til resultat.

Vi gemmer den samlede længde kræves til resultat, dvs. array1.length + array2. length. Derefter opretter vi et nyt array-resultat af længden.

Nu bruger vi for hver løkke til at løbe gennem hvert element i array1 og gemme det i resultatet. Efter at tildele den, vi øge position POS med 1, pos++.

På samme måde gør vi det samme for array2 og gemmer hvert element i resultatet startende fra positionen efter array1.

Her er den tilsvarende Java-kode: Java-program til sammenkædning af to arrays.

Interessante artikler...