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 < first.length; i++) third[i] = first[i]; for (int i = 0; i < second.length; i++) third[first.length + i] = second[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.