Chương trình Kotlin để ghép hai mảng

Trong chương trình này, bạn sẽ học cách nối hai mảng trong Kotlin bằng cách sử dụng bản sao và không có mảng.

Ví dụ 1: Nối hai mảng bằng cách sử dụng mảng

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

Khi bạn chạy chương trình, đầu ra sẽ là:

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

Trong chương trình trên, chúng ta có hai mảng số nguyên là array1 và array2.

Để kết hợp (nối) hai mảng, chúng tôi tìm độ dài của nó được lưu trữ trong aLen và bLen tương ứng. Sau đó, chúng ta tạo một kết quả mảng số nguyên mới với độ dài aLen + bLen.

Bây giờ, để kết hợp cả hai, chúng ta sao chép từng phần tử trong cả hai mảng để tạo ra kết quả bằng cách sử dụng hàm arrayycopy ().

Các arraycopy(array1, 0, result, 0, aLen)chức năng, trong thuật ngữ đơn giản, nói với chương trình để sao chép array1 bắt đầu từ chỉ số 0là kết quả của chỉ số 0để Alen.

Tương tự như vậy, for arraycopy(array2, 0, result, aLen, bLen)yêu cầu chương trình sao chép array2 bắt đầu từ chỉ mục 0sang resulttừ chỉ mục aLen sang bLen.

Ví dụ 2: Nối hai mảng mà không sử dụng mảng

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

Khi bạn chạy chương trình, đầu ra sẽ là:

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

Trong chương trình trên, thay vì sử dụng arraycopy, chúng ta sao chép thủ công từng phần tử của cả hai mảng array1 và array2 để kết quả.

Chúng tôi lưu trữ tổng độ dài cần thiết cho kết quả, tức là array1.length + array2. length. Sau đó, chúng tôi tạo một kết quả mảng mới có độ dài.

Bây giờ, chúng ta sử dụng vòng lặp for-each để lặp qua từng phần tử của array1 và lưu trữ nó trong kết quả. Sau khi gán nó, chúng tôi tăng vị trí lên 1 pos++,.

Tương tự như vậy, chúng ta làm tương tự với array2 và lưu trữ từng phần tử trong kết quả bắt đầu từ vị trí sau array1.

Đây là mã Java tương đương: Chương trình Java để nối hai mảng.

thú vị bài viết...