Rumah  >  Artikel  >  Java  >  Salin tatasusunan menggunakan fungsi Arrays.copyOf() java

Salin tatasusunan menggunakan fungsi Arrays.copyOf() java

PHPz
PHPzasal
2023-07-28 15:03:181827semak imbas

Gunakan fungsi Arrays.copyOf() Java untuk menyalin tatasusunan

Dalam pengaturcaraan Java, selalunya perlu untuk menyalin tatasusunan. Java menyediakan kaedah mudah Arrays.copyOf(), yang boleh menyalin tatasusunan dengan cepat dan mudah. Artikel ini akan memperkenalkan penggunaan Arrays.copyOf() dan memberikan beberapa contoh kod.

Penggunaan Arrays.copyOf() adalah sangat mudah Ia mempunyai dua parameter: panjang tatasusunan sumber dan tatasusunan sasaran. Nilai pulangan fungsi ialah tatasusunan baharu yang mengandungi kandungan tatasusunan sumber.

Di bawah ialah contoh kod yang menunjukkan cara menyalin tatasusunan menggunakan fungsi Arrays.copyOf().

public class ArrayCopyExample {
    public static void main(String[] args) {
        // 原始数组
        int[] sourceArray = {1, 2, 3, 4, 5};

        // 复制数组
        int[] targetArray = Arrays.copyOf(sourceArray, sourceArray.length);

        // 打印原始数组
        System.out.println("原始数组:");
        for (int num : sourceArray) {
            System.out.print(num + " ");
        }
        System.out.println();

        // 打印复制的数组
        System.out.println("复制的数组:");
        for (int num : targetArray) {
            System.out.print(num + " ");
        }
        System.out.println();
    }
}

Kod di atas mula-mula mentakrifkan tatasusunan primitif sourceArray dan menetapkannya kepada {1, 2, 3, 4, 5}. Kemudian gunakan fungsi Arrays.copyOf() untuk menyalin tatasusunan asal ke tatasusunan sasaran targetArray. Kemudian cetak tatasusunan asal dan tatasusunan yang disalin secara berasingan melalui gelung for. sourceArray,并赋值为 {1, 2, 3, 4, 5}。接着使用 Arrays.copyOf() 函数将原始数组复制到目标数组 targetArray 中。然后通过 for 循环分别打印原始数组和复制的数组。

执行以上代码,将会得到如下输出:

原始数组:
1 2 3 4 5 
复制的数组:
1 2 3 4 5 

可以看到,原始数组和复制的数组的内容是完全一样的。这是因为 Arrays.copyOf() 函数会创建一个新的数组,并将原始数组的内容复制到新数组中。

需要注意的是,尽管 Arrays.copyOf() 函数可以将源数组的内容复制到目标数组中,但源数组和目标数组不是同一个对象。也就是说,修改其中一个数组的元素值,不会对另一个数组产生影响。

此外,Arrays.copyOf() 函数还有一个重载的版本,可以指定目标数组的长度和类型。例如:

int[] targetArray = Arrays.copyOf(sourceArray, 10); // 创建一个长度为10的新数组

需要注意的是,如果目标数组的长度大于原始数组的长度,多出的部分将会用默认值填充。对于基本数据类型的数组,默认值为零。对于引用类型的数组,默认值为null。

综上所述,使用Java中的 Arrays.copyOf()

Laksanakan kod di atas dan anda akan mendapat output berikut: 🎜rrreee🎜Anda boleh melihat bahawa kandungan tatasusunan asal dan tatasusunan yang disalin adalah betul-betul sama. Ini kerana fungsi Arrays.copyOf() mencipta tatasusunan baharu dan menyalin kandungan tatasusunan asal ke dalam tatasusunan baharu. 🎜🎜Perlu diingat bahawa walaupun fungsi Arrays.copyOf() boleh menyalin kandungan tatasusunan sumber ke tatasusunan sasaran, tatasusunan sumber dan tatasusunan sasaran bukanlah objek yang sama. Dalam erti kata lain, mengubah suai nilai elemen bagi satu tatasusunan tidak akan menjejaskan tatasusunan yang lain. 🎜🎜Selain itu, fungsi Arrays.copyOf() juga mempunyai versi terlebih muatan yang boleh menentukan panjang dan jenis tatasusunan sasaran. Contohnya: 🎜rrreee🎜Perlu diingatkan bahawa jika panjang tatasusunan sasaran lebih besar daripada panjang tatasusunan asal, bahagian tambahan akan diisi dengan nilai lalai. Untuk tatasusunan jenis data primitif, nilai lalai ialah sifar. Untuk tatasusunan jenis rujukan, nilai lalai adalah nol. 🎜🎜Ringkasnya, menggunakan fungsi Arrays.copyOf() dalam Java boleh menyalin tatasusunan dengan cepat dan mudah. Penggunaan fungsi ini sangat mudah, anda hanya perlu memasukkan panjang tatasusunan sumber dan tatasusunan sasaran. Saya harap artikel ini akan membantu anda memahami penggunaan Arrays.copyOf(). 🎜

Atas ialah kandungan terperinci Salin tatasusunan menggunakan fungsi Arrays.copyOf() java. 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