Use the System.arraycopy Method to Copy Contents of Arrays

Use the System.arraycopy Method to Copy Contents of Arrays

When copying the contents of one array into another, use the System.arraycopy method instead of an iterative loop. For example, consider the following arrays:

 	int[] first = {1, 2, 3};	int[] second = {4, 5, 6};	int[] third = new int[first.length + second.length];

One possible way of copying the contents of the first two arrays into the third one is to use loops, such as:

 	for (int i = 0; i 

However, a better way of accomplishing the same task is to use the System.arraycopy method as in the following example:

 	System.arraycopy(first, 0, third, 0, first.length);	System.arraycopy(second, 0, third, first.length, second.length); 

Besides accomplishing the same result with less code, this approach has the added advantage of being faster, since arraycopy is implemented as a native method, and will generally execute faster than equivalent code written in Java. This advantage can be particularly significant with large arrays or where many arrays are being copied.


Share the Post: