Home >Java >javaTutorial >How to Deep Copy a 2D Boolean Array in Java?

How to Deep Copy a 2D Boolean Array in Java?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-26 13:38:10407browse

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn