Rumah > Java > javaTutorial > teks badan

Bagaimana untuk Mencipta Salinan Benar Tatasusunan 2D di Jawa?

Patricia Arquette
Lepaskan: 2024-10-31 01:36:02
asal
294 orang telah melayarinya

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!