Kotlini programm kahe massiivi ühendamiseks

Selles programmis saate õppida Kotlinis liitma kahte massiivi, kasutades massiivkoopiat ja ilma selleta.

Näide 1: Liitke kaks massiivi massiivkoopia abil

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

Programmi käivitamisel on väljund järgmine:

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

Ülaltoodud programmis on meil kaks täisarvu massiivi massiiv1 ja massiiv2.

Kahe massiivi ühendamiseks (liitmiseks) leiame selle pikkuse vastavalt aLen ja bLen. Seejärel loome uue täisarvu massiivi tulemuse pikkusega aLen + bLen.

Mõlemaks ühendamiseks kopeerime nüüd mõlemad elemendid mõlemasse massiivi, et tulemuseks oleks arraycopy () funktsioon.

arraycopy(array1, 0, result, 0, aLen)Funktsiooni, lihtsate sõnadega, räägib programmi kopeerida massiiv1 alates indeks 0tulenevat indeks 0, et Alen.

Samamoodi arraycopy(array2, 0, result, aLen, bLen)ütleb programmi kopeerida massiiv2 alates indeks 0on resultalates indeks Alen et blen.

Näide 2: Liitke kaks massiivi ilma massiivkoopiat kasutamata

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

Programmi käivitamisel on väljund järgmine:

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

Ülaltoodud programmis arraycopykopeerime tulemuse saamiseks mõlema massiivi massiivi1 ja massiivi2 iga elemendi selle asemel, et seda kasutada .

Me salvestame tulemuseks vajaliku kogupikkuse, st array1.length + array2. length. Seejärel loome pikkuse uue massiivi tulemuse.

Nüüd kasutame massi1 iga elemendi läbimiseks ja tulemuse salvestamiseks for-iga silmust. Pärast määrates, siis me suurendada positsiooni pos 1, pos++.

Samamoodi teeme sama ka massiivi 2 puhul ja salvestame iga elemendi tulemust alates massiivi 1 järgsest positsioonist.

Siin on samaväärne Java kood: Java-programm kahe massiivi ühendamiseks.

Huvitavad Artiklid...