← All posts

How to copy an Array in Java – Four different ways

1 min read

SeriesArrays in Javapart 1 of 10
  1. How to copy an Array in Java – Four different ways
  2. How to print Array in array format in Java
  3. How to sort Arrays in Java
  4. How to search an element in an array in java
  5. How to assign specific value to each element in Array
  6. How to create Array of Objects Java
  7. How to pass Array to method Java
  8. How to Return an Array Java
  9. Multi Dimensional Arrays in Java
  10. What is a Jagged Array in Java
On this page

There are four ways to copy an array in Java. Following are the different ways

  1. Using for Loop
  2. Using copyOf() method of Array Class
  3. Using clone() Method
  4. Using arraycopy() method Of System Class

Using for Loop

package com.javaindetail.arraycopy;

public class UsingForLoop {

  public static void main(String[] args) {
    int[] a = { 1, 2, 3, 4, 5 }; 
    int[] b = new int[a.length]; 
    //copy an array in Java
    //copying a to b
    for (int i = 0; i < a.length; i++) {
      b[i] = a[i];
    }
    
    //printing a
    System.out.print("A Array ::");
    for (int i = 0; i < a.length; i++) {
      System.out.print(" "+a[i]);
    }
    
    //printing b
    System.out.print("nB Array ::");
    for (int i = 0; i < b.length; i++) {
      System.out.print(" "+b[i]);
    }
    
  }

}

Output

A Array :: 1 2 3 4 5 
B Array :: 1 2 3 4 5

Using copyOf() method of Array Class

package com.javaindetail.arraycopy;

import java.util.Arrays;

public class UsingCopyOf {
  public static void main(String[] args) {
    int[] a = { 1, 2, 3, 4, 5 };
    // copy an array in Java
    // creating a copy of array 'a' using copyOf() method of java.util.Arrays
    int[] b = Arrays.copyOf(a, a.length);
    
    // printing a
    System.out.print("A Array ::");
    for (int i = 0; i < a.length; i++) {
      System.out.print(" " + a[i]);
    }

    // printing b
    System.out.print("nB Array ::");
    for (int i = 0; i < b.length; i++) {
      System.out.print(" " + b[i]);
    }

  }

}

Output

A Array :: 1 2 3 4 5
B Array :: 1 2 3 4 5

Using clone() Method

package com.javaindetail.arraycopy;

public class UsingClone {
  public static void main(String[] args) {
    int[] a = { 1, 2, 3, 4, 5 }; 
    // creating a copy of array 'a' using clone() method
    int[] b = a.clone();

    // printing a
    System.out.print("A Array ::");
    for (int i = 0; i < a.length; i++) {
      System.out.print(" " + a[i]);
    }

    // printing b
    System.out.print("nB Array ::");
    for (int i = 0; i < b.length; i++) {
      System.out.print(" " + b[i]);
    }
  }

}

Output

A Array :: 1 2 3 4 5
B Array :: 1 2 3 4 5

Using arraycopy() method Of System Class

package com.javaindetail.arraycopy;

public class UsingArrayCopy {
  public static void main(String[] args) {
    int[] a = { 1,2,3,4,5 }; 
              
    int[] b = new int[a.length];
    // copy an array in Java
    // creating a copy of array 'a' using arraycopy() method of System class
    System.arraycopy(a, 0, b, 0, a.length);

    // printing a
    System.out.print("A Array ::");
    for (int i = 0; i < a.length; i++) {
      System.out.print(" " + a[i]);
    }

    // printing b
    System.out.print("nB Array ::");
    for (int i = 0; i < b.length; i++) {
      System.out.print(" " + b[i]);
    }
  }

}

Output

A Array :: 1 2 3 4 5
B Array :: 1 2 3 4 5