Котлинов програм за повезивање два низа

У овом програму ћете научити да спајате два низа у Котлину користећи арраицопи и без ње.

Пример 1: Спојите два низа помоћу арраицопи

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

Када покренете програм, излаз ће бити:

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

У горњем програму имамо два целобројна низа низ1 и низ2.

Да бисмо комбиновали (спојили) два низа, пронађемо његову дужину ускладиштену у аЛен и бЛен. Затим креирамо нови резултат целобројног низа дужине аЛен + бЛен.

Сада, да бисмо комбиновали оба, копирамо сваки елемент у оба низа да бисмо добили резултат помоћу функције арраицопи ().

arraycopy(array1, 0, result, 0, aLen)Функција, једноставно речено, говори програм за копирање низ1 почевши од индекса 0на резултат индекса 0Алену.

Слично томе, фор arraycopy(array2, 0, result, aLen, bLen)каже програму да копира низ2 почевши од индекса 0до resultиндекса аЛен до бЛен.

Пример 2: Спојите два низа без употребе арраицопи

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

Када покренете програм, излаз ће бити:

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

У горњем програму, уместо да користимо arraycopy, ручно копирамо сваки елемент оба низа арраи1 и арраи2 да бисмо добили резултат.

Чувамо укупну дужину потребну за резултат, тј array1.length + array2. length. Затим креирамо нови резултат низа дужине.

Сада користимо петљу фор-еацх да провучемо кроз сваки елемент низа1 и похранимо га у резултат. Након додељивања смо повећати позицију поз за 1, pos++.

Исто тако, радимо исто за низ2 и чувамо сваки елемент у резултату почев од положаја након низа1.

Ево еквивалентног Јава кода: Јава програм за спајање два низа.

Занимљиви Чланци...