Rumah  >  Artikel  >  Java  >  Bagaimana untuk Mencipta Salinan Benar Tatasusunan 2D di Jawa?

Bagaimana untuk Mencipta Salinan Benar Tatasusunan 2D di Jawa?

Patricia Arquette
Patricia Arquetteasal
2024-10-31 01:36:02279semak imbas

How to Create a True Copy of a 2D Array in Java?

Menyalin Tatasusunan 2D dalam Java

Menyalin tatasusunan dua dimensi (2D) dalam Java boleh menjadi penting untuk mengekalkan kegigihan atau bekerja dengan salinan yang boleh diubah suai tanpa menjejaskan tatasusunan asal.

Masalah yang dihadapi dalam kod Java yang diberikan berpunca daripada fakta bahawa lama = semasa dan semasa = lama memberikan rujukan kepada tatasusunan 2D yang sama dan bukannya membuat salinan bebas. Akibatnya, sebarang perubahan yang dibuat kepada semasa juga ditunjukkan dalam yang lama.

Untuk mencipta salinan sebenar tatasusunan 2D, anda perlu mencipta tatasusunan baharu dan menyalin setiap elemen ke dalamnya. Ini boleh dicapai menggunakan pendekatan berasaskan gelung atau dengan memanfaatkan API aliran yang diperkenalkan dalam Java 8.

Kaedah API Strim:

<code class="java">int[][] copy = Arrays.stream(matrix).map(int[]::clone).toArray(int[][]::new);</code>

Dalam contoh ini, peta (int[]::clone) mencipta salinan baharu setiap baris dalam tatasusunan matriks. Kaedah toArray(int[][]::new) kemudian mencipta tatasusunan 2D baharu dengan baris yang disalin.

Kaedah Berasaskan Gelung:

<code class="java">int[][] copy = new int[current.length][current[0].length];
for (int i = 0; i < current.length; i++) {
  for (int j = 0; j < current[i].length; j++) {
    copy[i][j] = current[i][j];
  }
}</code>

Dalam pendekatan ini, tatasusunan 2D baharu (salinan) dengan dimensi yang sama seperti semasa dicipta. Kemudian, gelung bersarang akan berulang ke atas setiap elemen dalam semasa dan menyalin nilainya ke kedudukan yang sepadan dalam salinan.

Setelah salinan dibuat, lama boleh diberikan kepada tatasusunan yang disalin (lama = salinan) manakala semasa boleh terus dikemas kini tanpa menjejaskan lama.

Atas ialah kandungan terperinci Bagaimana untuk Mencipta Salinan Benar Tatasusunan 2D di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn