Home > Java > Mencopy Array Pada Java

Mencopy Array Pada Java

September 23, 2012 Leave a comment Go to comments

Ada beberapa cara dalam mencopy array pada Java,  antara lain:

  • Menggunakan method copyOf dan copyOfRange yang terdapat pada kelas Arrays. Untuk lebih detail tentang kedua method tersebut dapat dilihat disini
  • Menggunakan method static arraycopy yang terdapat pada kelas System. Untuk lebih detail tentang method arraycopy dan kelas System dapat dilihat disini.
  • Menggunakan method clone yang terdapat kelas Object. Untuk lebih detail tentang method clone dan kelasObject dapat dilihat disini.
  • Menggunakan for loop, melakukan copy setiap nilai pada element array.

Contoh untuk melakukan copy array dengan bahasa pemrograman Java sebagai berikut:

Nama file: copy.java

package copyarray;

import java.util.Arrays;
import java.util.Random;

/**
 *
 * @author Taeyeon
 */
public class copy {
    private int[] A;
    private int[] B;
    private int[] C;
    private int[] D;
    private int[] E;
    private int[] F;
    
    private static Random valueGen = new Random();
    
    public copy(int newSize)
    {
        A=new int[newSize];
        B=new int[newSize];
        C=new int[newSize];
        D=new int[newSize];
        E=new int[newSize];
        
        for (int i=0; i<newSize; i++)
        {
            A[i]=1+ valueGen.nextInt(120);
        }
    }
    
    public int[] getA()
    {
        return A;
    }
    
    public void EditA(int value, int index)
    {
        A[index]= value;
    }
    
    public void setB(int[] newA)
    {
         for(int i=0; i< newA.length; i++)
            {
                B[i] = newA[i];
            }  
    }
    public int[] getB()
    {
      return B;
    }
    
     public void setC(int[] newA)
    {
        C = Arrays.copyOf(newA, newA.length);
    }
    public int[] getC()
    {
      return C;
    }
    
     public void setD(int[] newA)
    {
        D = Arrays.copyOfRange(newA, 0, newA.length);
    }
    public int[] getD()
    {
      return D;
    }
     public void setE(int[] newA)
    {
        System.arraycopy(newA, 0, E, 0, newA.length);
    }
    public int[] getE()
    {
      return E;
    }
    
    
     public void testData(int[] data)
    {   
        for(int i=0; i<data.length; i++)
        {
            System.out.print(data[i]+" ");
        }
    }

}

 

Nama file : Main.java

package copyarray;

/**
 *
 * @author Taeyeon
 */
public class Main {

    /**
     * @param args the command line arguments
     */
 
    public static void main(String[] args) throws CloneNotSupportedException {
        
       copy cp = new copy(10);
       /* Inisialisasi nilai array A */
       
       cp.setB(cp.getA());
       cp.setC(cp.getA());
       cp.setD(cp.getA());
       cp.setE(cp.getA());
       
       
       System.out.print("-----Nilai awal array A--------\n");
       cp.testData(cp.getA());
       /* Mencopy nilai array A ke array B, C, D, E, F */
       
       cp.EditA(1000, 0);
       /* Melakukan perubahan nilai pada salah satu element array A
        * untuk membuktikan perubahan nilai pada array A tidak berpengaruh
        * pada nilai array yang telah dicopy sebelumnya */
       System.out.print("\n---Nilai array A setelah diedit----\n");
       cp.testData(cp.getA());
       
       System.out.print("\n---Mencopy array dengan for loop----\n");
       cp.testData(cp.getB());
       
       System.out.print("\n---Mencopy array dengan method copyOf----\n");
       cp.testData(cp.getC());
       
       System.out.print("\n---Mencopy array dengan method copyOfRange----\n");
       cp.testData(cp.getD());
       
       System.out.print("\n---Mencopy array dengan method static arraycopy---\n");
       cp.testData(cp.getD());

 

Contoh output dari program diatas sebagai berikut:

Output Program

Semoga bermanfaat😀

Referrensi : Dari berbagai sumber

 

  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: