Program Java untuk Menggabungkan Dua Susunan

Dalam program ini, anda akan belajar menggabungkan dua tatasusunan di Java menggunakan arraycopy dan tanpanya.

Untuk memahami contoh ini, anda harus mempunyai pengetahuan mengenai topik pengaturcaraan Java berikut:

  • Susunan Java
  • Java untuk-setiap Gelung

Contoh 1: Gabungkan Dua Susunan menggunakan arraycopy

 import java.util.Arrays; public class Concat ( public static void main(String() args) ( int() array1 = (1, 2, 3); int() array2 = (4, 5, 6); int aLen = array1.length; int bLen = array2.length; int() result = new int(aLen + bLen); System.arraycopy(array1, 0, result, 0, aLen); System.arraycopy(array2, 0, result, aLen, bLen); System.out.println(Arrays.toString(result)); ) )

Pengeluaran

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

Dalam program di atas, kami mempunyai dua array integer array1 dan array2.

Untuk menggabungkan (menggabungkan) dua tatasusunan, kita dapati panjangnya masing-masing disimpan dalam aLen dan bLen. Kemudian, kami membuat hasil array integer baru dengan panjang aLen + bLen.

Sekarang, untuk menggabungkan kedua-duanya, kami menyalin setiap elemen dalam kedua array untuk dihasilkan dengan menggunakan arraycopy()fungsi.

Yang arraycopy(array1, 0, result, 0, aLen)fungsi, dalam bahasa yang mudah, memberitahu program untuk menyalin tatasusunan1 bermula dari indeks 0berlaku akibat daripada indeks 0untuk Alen.

Begitu juga, untuk arraycopy(array2, 0, result, aLen, bLen)memberitahu program untuk menyalin array2 bermula dari indeks 0ke resultdari indeks aLen ke bLen.

Contoh 2: Gabungkan Dua Susunan tanpa menggunakan arraycopy

 import java.util.Arrays; public class Concat ( public static void main(String() args) ( int() array1 = (1, 2, 3); int() array2 = (4, 5, 6); int length = array1.length + array2.length; int() result = new int(length); int pos = 0; for (int element : array1) ( result(pos) = element; pos++; ) for (int element : array2) ( result(pos) = element; pos++; ) System.out.println(Arrays.toString(result)); ) )

Pengeluaran

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

Dalam program di atas, bukannya menggunakan arraycopy, kita menyalin secara manual setiap elemen kedua array array dan array2 untuk menghasilkan.

Kami menyimpan jumlah panjang yang diperlukan untuk hasil, iaitu array1.length + array2. length. Kemudian, kami membuat hasil susunan baru dengan panjang.

Sekarang, kita menggunakan gelung untuk setiap untuk mengulangi setiap elemen array1 dan menyimpannya dalam hasilnya. Selepas memberikan ia, kita meningkatkan pos kedudukan sebanyak 1, pos++.

Begitu juga, kami melakukan perkara yang sama untuk array2 dan menyimpan setiap elemen hasilnya bermula dari kedudukan selepas array1.

Artikel menarik...