DEV Community

Cover image for How to Copy Array in Java
Emmanuel Ogbinaka
Emmanuel Ogbinaka

Posted on

3

How to Copy Array in Java

So you have two arrays A and B, and you need to copy the elements of A into B. Well there are various ways you can do this in Java and in this post I'll be showing you a couple of ways you can.

Method One : ForLoop
This good old for-loop to the rescue:

int[] A = {1,2,4,4};
int[] B = new int[];

 for (int i = 0; i < A.length; i++){
      B[i] = A[i];
}
Enter fullscreen mode Exit fullscreen mode

Method Two : .clone()
The clone method of array can help you simply achieve this.

Usage
int[] A = {1,2,4,4};
int[] B = A.clone();//the clone method copies the content of A into B;
Enter fullscreen mode Exit fullscreen mode

Method Three : System.arraycopy()
The next option is to use System.arraycopy() method present in the java.lang package. Before we get into it's usage, let's discuss it's signature:

public static void arraycopy(
    Object src, //:source array, in this case A
    int srcPos, //:the start index for copy, typically 0
    Object dest, //:destination object in this case B. 
    int destPos, //:the index to place the copied elements
    int length //:the length of the contents to be copied
);
Enter fullscreen mode Exit fullscreen mode
Usage
int[] A = {1,2,4,4};
int[] B = new int[];

System.arraycopy(A, 0, B, 0, A.length);
Enter fullscreen mode Exit fullscreen mode

Method Four : Arrays.copyOf()
The next option we'll be discussing is from the Arrays class present in the java.utils package. Once again, let's discuss it's signature:

public static int[] copyOf( 
    int[] original, // :source array in this case A
    int newLength // :the length of the contents to be copied
);
Enter fullscreen mode Exit fullscreen mode
Usage
int[] A = {1,2,4,4};
int[] B = Arrays.copyOf(A, 3);
Enter fullscreen mode Exit fullscreen mode

Method Five : Arrays.copyOfRange()
So, this will be the last option we'll be discussing for this post and from the Arrays class present in the java.utils package. Once again, let's see it's signature:

public static int[] copyOfRange​(
    int[] original, // :source array in this case A
    int from,  //:the start index for copy, typically 0
    int to // the end index exclusive
);
Enter fullscreen mode Exit fullscreen mode
Usage
int[] A = {1,2,3,4,5,6,7};
int[] B = Arrays.copyOfRange(A, 0, A.length);
Enter fullscreen mode Exit fullscreen mode

AWS Security LIVE!

Tune in for AWS Security LIVE!

Join AWS Security LIVE! for expert insights and actionable tips to protect your organization and keep security teams prepared.

Learn More

Top comments (0)

AWS Security LIVE!

Tune in for AWS Security LIVE!

Join AWS Security LIVE! for expert insights and actionable tips to protect your organization and keep security teams prepared.

Learn More

👋 Kindness is contagious

Discover a treasure trove of wisdom within this insightful piece, highly respected in the nurturing DEV Community enviroment. Developers, whether novice or expert, are encouraged to participate and add to our shared knowledge basin.

A simple "thank you" can illuminate someone's day. Express your appreciation in the comments section!

On DEV, sharing ideas smoothens our journey and strengthens our community ties. Learn something useful? Offering a quick thanks to the author is deeply appreciated.

Okay