Home >Java >javaTutorial >How to Deep Copy a 2D Boolean Array in Java?
Deep Copying 2D Arrays in Java
In Java, cloning a 2D array using the clone() method does not create a deep copy. As a result, changes made to cloned arrays may inadvertently affect the original array. This article explores methods to perform a deep copy of a 2D boolean array.
Iterating Over the Array
One approach is to manually iterate over the array and create a new array by copying the values. For each inner array, you can use System.arraycopy() to ensure a deep copy.
Using Java 6 Arrays.copyOf()
If you are using Java 6 or later, consider utilizing the Arrays.copyOf() method. This method can be used to create a deep copy of arrays of primitive types, including boolean arrays:
public static boolean[][] deepCopy(boolean[][] original) { if (original == null) { return null; } final boolean[][] result = new boolean[original.length][]; for (int i = 0; i < original.length; i++) { result[i] = Arrays.copyOf(original[i], original[i].length); } return result; }
This code iterates over the original array, creating a new array for each inner array and using Arrays.copyOf() to copy the values. This ensures the creation of a deep copy, where modifications to the new array do not affect the original array.
The above is the detailed content of How to Deep Copy a 2D Boolean Array in Java?. For more information, please follow other related articles on the PHP Chinese website!