Deep Copying 2D Arrays dalam Java
Di Java, mengklonkan tatasusunan 2D menggunakan kaedah clone() tidak menghasilkan salinan dalam. Akibatnya, perubahan yang dibuat pada tatasusunan klon mungkin secara tidak sengaja menjejaskan tatasusunan asal. Artikel ini meneroka kaedah untuk melaksanakan salinan dalam tatasusunan boolean 2D.
Lelaran Melalui Tatasusunan
Satu pendekatan ialah dengan mengulang secara manual ke atas tatasusunan dan mencipta yang baharu tatasusunan dengan menyalin nilai. Untuk setiap tatasusunan dalaman, anda boleh menggunakan System.arraycopy() untuk memastikan salinan dalam.
Menggunakan Java 6 Arrays.copyOf()
Jika anda menggunakan Java 6 atau lebih baru, pertimbangkan untuk menggunakan kaedah Arrays.copyOf(). Kaedah ini boleh digunakan untuk membuat salinan dalam tatasusunan jenis primitif, termasuk tatasusunan boolean:
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; }
Kod ini berulang ke atas tatasusunan asal, mencipta tatasusunan baharu untuk setiap tatasusunan dalam dan menggunakan Arrays.copyOf () untuk menyalin nilai. Ini memastikan penciptaan salinan dalam, di mana pengubahsuaian pada tatasusunan baharu tidak menjejaskan tatasusunan asal.
Atas ialah kandungan terperinci Bagaimana untuk Menyalin Dalam Array Boolean 2D di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!