How to Copy a 2D Array in Java
Copying a 2D array in Java can be a tricky task. One way to do it is to use loops to manually copy each element from the original array to the new array. However, this can be tedious and error-prone.
A better way to copy a 2D array is to use the clone() method or System.arraycopy().
Using clone
The clone() method creates a new array that is a copy of the original array. To use the clone() method, you can do the following:
<code class="java">int [][] myInt = new int[matrix.length][]; for(int i = 0; i < matrix.length; i++) myInt[i] = matrix[i].clone(); </code>
Using System.arraycopy()
The System.arraycopy() method is another way to copy an array. It takes the following parameters:
To use System.arraycopy() to copy a 2D array, you can do the following:
<code class="java">int [][] myInt = new int[matrix.length][]; for(int i = 0; i < matrix.length; i++) { int[] aMatrix = matrix[i]; int aLength = aMatrix.length; myInt[i] = new int[aLength]; System.arraycopy(aMatrix, 0, myInt[i], 0, aLength); }</code>
Both the clone() method and System.arraycopy() are efficient ways to copy a 2D array. However, System.arraycopy() is generally faster and less mistake-prone.
The above is the detailed content of How to Effectively Copy a 2D Array in Java: `clone()` vs. `System.arraycopy()`. For more information, please follow other related articles on the PHP Chinese website!