Kotlina programma divu masīvu savienošanai

Šajā programmā jūs iemācīsit savienot divus masīvus Kotlinā, izmantojot masīvu kopiju un bez tās.

1. piemērs: Savienojiet divus masīvus, izmantojot masīvu kopiju

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

Palaidot programmu, izeja būs:

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

Iepriekš minētajā programmā mums ir divi veselo skaitļu masīvi masīvs1 un masīvs2.

Lai apvienotu (savienotu) divus masīvus, mēs atrodam tā garumu attiecīgi aLen un bLen. Pēc tam mēs izveidojam jaunu vesela skaitļa masīva rezultātu ar garumu aLen + bLen.

Tagad, lai apvienotu abus, mēs kopējam katru elementu abos masīvos, lai iegūtu rezultātu, izmantojot arraycopy () funkciju.

arraycopy(array1, 0, result, 0, aLen)Funkcija, vienkāršā izteiksmē, stāsta programmu, lai kopētu masīvs1 sākot no indeksa 0, kas izriet no indeksa 0līdz Alen.

Līdzīgi, par - arraycopy(array2, 0, result, aLen, bLen)liek programmai kopēt masīvu2, sākot no indeksa 0uz resultindeksu aLen uz bLen.

2. piemērs: savienojiet divus masīvus, neizmantojot masīvu kopiju

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

Palaidot programmu, izeja būs:

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

Iepriekš minētajā programmā tā vietā, lai izmantotu arraycopy, mēs manuāli kopējam abus masīvu masīva1 un masīva2 elementus, lai iegūtu rezultātu.

Mēs uzglabājam rezultātu kopējo garumu, ti array1.length + array2. length. Tad mēs izveidojam jaunu garuma masīva rezultātu.

Tagad mēs izmantojam katrai cilpai, lai apietu katru masīva1 elementu un saglabātu to rezultātā. Pēc tā piešķiršanas mēs palielinām pozīciju pos par 1 pos++,.

Tāpat mēs darām to pašu masīvam2 un katru elementu saglabājam rezultātā, sākot no pozīcijas pēc masīva1.

Šeit ir ekvivalents Java kods: Java programma, lai savienotu divus masīvus.

Interesanti raksti...