Menyalin elemen larik array metoda arrayCopy program java
Menyalin Elemen Larik Dengan Metoda arrayCopy Di Java
Semua elemen sebuah larik tidak dapat disalin ke larik lain menggunakan assignment operator (=) sebagaimana pada tipe data primitif seperti int, short, long, float, double, boolean dan char.

larikX = larikY;

Pernyataan di atas hanya memberikan acuan larikY ke larikX sehingga larikX dan larikY mengacu ke obyek larik yang sama. Bila larikX sebelumnya mengacu ke obyek larik yang lain, maka obyek larik tersebut sudah tidak diacu lagi oleh larikX. Untuk menyalin elemen larik, Anda dapat menggunakan metoda arraycopy kelas System yang terletak di paket java.lang. Kelas System tidak perlu diimpor karena secara otomatis diimpor kompiler Java saat digunakan.

Berikut ini adalah sintaksis metoda arraycopy dari kelas System:

arraycopy(larikSumber, posisi-sumber, larikTarget, posisi-target, jumlah-elemen);

Dari sintaksis di atas, posisi-sumber dan posisi-target menunjukkan posisi awal larikSumber dan larikTarget, sedangkan jumlah-elemen adalah banyaknya elemen larik yang disalin dari larikSumber ke larikTarget. Selain dengan metoda arraycopy kelas System, menyalin larik juga dapat dilakukan menggunakan perulangan for sebagai berikut:

char[] karakterSumber = {'a', 'b', 'c', 'd', 'e', 'f', 'g'};
char[] karakterTarget = new char[karakterSumber.length];
for (int x = 0; x <= karakterSumber.length; x++)
   karakterTarget[x] = karakterSumber[x];

Baca artikel:

Berikut ini adalah contoh program Java untuk menyalin elemen larik menggunakan metoda arraycopy dari kelas System.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
// Nama file : MenyalinElemenLarik.java
// Menyalin elemen dari larik satu ke larik lain
 
// Mengimpor kelas
import javax.swing.JOptionPane;
import javax.swing.JTextArea;
 
// Deklarasi kelas
public class MenyalinElemenLarik {
 
   // Metoda main
   public static void main(String[ ] args) {
 
      JTextArea areaTampilan;
      String stringTampil = "";
      char[ ] karakterSumber = {'A', 'B', 'C', 'D', 'E', 'F', 'G',
                               'H', 'I', 'j', 'K', 'L', 'M', 'N',
                               'O', 'P', 'Q', 'R', 'S'};
      char[ ] karakterTarget = new char[karakterSumber.length];
 
      // Menyalin elemen larik sumber ke larik target
      System.arraycopy(karakterSumber, 0, karakterTarget, 0, karakterSumber.length);
 
      // Menampilkan hasil
      stringTampil += "Elemen larik karakterSumber :\n";
      for (int x = 0; x < karakterSumber.length; x++)
         stringTampil += karakterSumber[x] + "  ";
 
      stringTampil += "\nElemen larik karakterTarget :\n";
      for (int x = 0; x < karakterTarget.length; x++)
         stringTampil += karakterTarget[x] + "  ";
 
      areaTampilan = new JTextArea();
      areaTampilan.setText(stringTampil);
      JOptionPane.showMessageDialog(null, areaTampilan, "Menyalin Elemen Larik",
         JOptionPane.INFORMATION_MESSAGE);
 
      // Mengakhiri aplikasi
      System.exit(0);
   }
}

Menyalin elemen larik (array) di program Java

Pernyataan di baris nomor 16 adalah deklarasi, membuat dan menginisialisi larik menggunakan array initializer. Larik karakterSumber mempunyai 19 elemen tipe char. Baris nomor 19 adalah pernyataan untuk mendeklarasikan dan membuat larik karakterTarget yang mempunyai elemen tipe char dengan jumlah elemen sebanyak jumlah elemen larik karakterSumber (new char[karakterSumber.length]).

Baca artikel:

Baris nomor 22 adalah pernyataan menyalin elemen larik karakterSumber ke larik karakterTarget menggunakan metoda arraycopy dari kelas System. Nilai elemen setiap larik kemudian disimpan ke variabel tipe String stringTampil menggunakan perulangan for (baris nomor 26 dan 30).