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]; }
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;
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 );
Usage
int[] A = {1,2,4,4}; int[] B = new int[]; System.arraycopy(A, 0, B, 0, A.length);
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 );
Usage
int[] A = {1,2,4,4}; int[] B = Arrays.copyOf(A, 3);
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 );
Usage
int[] A = {1,2,3,4,5,6,7}; int[] B = Arrays.copyOfRange(A, 0, A.length);
Top comments (0)