Програма Котліна для об'єднання двох масивів

У цій програмі ви навчитеся об'єднувати два масиви в Котліні за допомогою масиву копій та без нього.

Приклад 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)

У наведеній вище програмі ми маємо два цілочисельних масиви array1 та array2.

Для того, щоб поєднати (об'єднати) два масиви, ми знаходимо його довжину, збережену в aLen та bLen відповідно. Потім ми створюємо новий результат цілочисельного масиву з довжиною aLen + bLen.

Тепер, щоб поєднати обидва, ми копіюємо кожен елемент в обох масивах, щоб отримати результат за допомогою функції arraycopy ().

arraycopy(array1, 0, result, 0, aLen)Функція, в простих умовах, повідомляє програма для копіювання array1 починаючи з індексу 0в результаті індекс 0до Alen.

Аналогічним чином, for arraycopy(array2, 0, result, aLen, bLen)повідомляє програмі копіювати масив2, починаючи з індексу 0до resultіндексу aLen до bLen.

Приклад 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ми вручну копіюємо кожен елемент обох масивів array1 і array2 в результат.

Ми зберігаємо загальну довжину, необхідну для результату, тобто array1.length + array2. length. Потім ми створюємо новий результат масиву довжини.

Тепер ми використовуємо цикл for-each, щоб прокрутити кожен елемент масиву1 та зберегти його в результаті. Після призначення його, ми збільшуємо пози позиції 1, pos++.

Так само ми робимо те саме для масиву2 і зберігаємо кожен елемент у результаті, починаючи з позиції після масиву1.

Ось еквівалентний код Java: програма Java для об’єднання двох масивів.

Цікаві статті...