Kotlin Programı İki Diziyi Birleştirme

Bu programda, dizicopy kullanarak ve onsuz Kotlin'deki iki diziyi birleştirmeyi öğreneceksiniz.

Örnek 1: arraycopy kullanarak İki Diziyi Birleştirme

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

Programı çalıştırdığınızda, çıktı:

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

Yukarıdaki programda, dizi1 ve dizi2 olmak üzere iki tamsayı dizimiz var.

İki diziyi birleştirmek (birleştirmek) için, uzunluğunun sırasıyla aLen ve bLen'de saklandığını buluruz. Ardından, aLen + bLen uzunluğuna sahip yeni bir tamsayı dizisi sonucu oluşturuyoruz.

Şimdi, her ikisiyle birleştirmek için, her iki dizideki her bir elemanı, arraycopy () işlevini kullanarak sonuç verecek şekilde kopyalıyoruz.

arraycopy(array1, 0, result, 0, aLen)Fonksiyonu, basit terimlerle, dizinden başlayarak dizi1 kopyalamak için programı söyler 0dizinden sonuçlanması 0Alen için.

Aynı şekilde, için arraycopy(array2, 0, result, aLen, bLen)dizinden başlayarak dizi2 kopyalamak için programı söyler 0için resultBlen için endeks Alen dan.

Örnek 2: Dizicopy kullanmadan İki Diziyi Birleştirme

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

Programı çalıştırdığınızda, çıktı:

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

Yukarıdaki programda, kullanmak yerine, arraycopysonuç için her iki dizi dizi1 ve dizi2'nin her bir öğesini manuel olarak kopyalıyoruz.

Sonuç için gerekli toplam uzunluğu saklarız, yani array1.length + array2. length. Ardından, uzunluğun yeni bir dizi sonucunu oluşturuyoruz.

Şimdi, dizi1'in her bir elemanı arasında döngü yapmak ve bunu sonuçta saklamak için her bir döngü için kullanıyoruz. Atadıktan sonra, pozisyonu 1 artırıyoruz pos++.

Aynı şekilde, dizi2 için de aynısını yapıyoruz ve her bir elemanı dizi1'den sonraki konumdan başlayarak sonuçta saklarız.

İşte eşdeğer Java kodu: İki diziyi birleştirmek için Java programı.

Ilginç makaleler...