Menyalin Tatasusunan Dua Dimensi dalam Java
Menyalin tatasusunan berbilang dimensi dalam Java boleh menjadi rumit, kerana memberikan satu tatasusunan kepada tatasusunan yang lain hanya mencipta rujukan kepada data asal dan bukannya salinan sebenar. Untuk mencipta pendua tulen, anda perlu memperuntukkan memori baharu dan menyalin elemen secara individu.
Dalam kes anda, anda mempunyai dua kaedah, old() dan keepold(), untuk menyalin tatasusunan semasa ke lama dan sebaliknya sebaliknya. Walau bagaimanapun, apabila anda mengemas kini semasa, perubahan juga ditunjukkan dalam lama kerana kedua-duanya merujuk kepada data asas yang sama.
Untuk membuat salinan sebenar, anda boleh menggunakan langkah berikut:
Menggunakan streams API (Java 8 ), anda boleh memudahkan proses ini:
<code class="java">int[][] copy = Arrays.stream(matrix).map(int[]::clone).toArray(int[][]::new);</code>
Baris ini menggunakan peta() kaedah untuk mencipta tatasusunan baharu bagi setiap baris, kemudian kaedah klon() untuk menyalin setiap baris, dan akhirnya kaedah toArray() untuk mencipta tatasusunan dua dimensi baharu daripada baris yang diklon.
Atas ialah kandungan terperinci Bagaimana untuk Mencipta Salinan Dalam Tatasusunan Dua Dimensi di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!