Apakah kaedah Arrays.copyOf() dalam Java?
Kelas Java java.util.Arrays menyediakan kaedah yang dipanggil Arrays.copyOf() yang mengembalikan salinan tatasusunan yang diluluskan sebagai parameter kepada fungsi ini, diikuti dengan menentukan saiznya. Berikut ialah pengepala kaedah untuk pemahaman cepat.
Arrays.copyOf(int[] templateArray, int length);
Ambil perhatian bahawa "panjang" parameter kedua ialah saiz tatasusunan salinan yang anda ingin buat. Jadi di sini kita boleh mempunyai 3 kes.
- Panjang kedua-dua susunan templat & salinan adalah sama.
- Panjang tatasusunan salinan lebih besar daripada panjang tatasusunan templat.
- Panjang tatasusunan salinan adalah lebih kecil daripada panjang tatasusunan templat.

Contoh Pengekodan
import java.util.Arrays;
public class ArraysCopyOfMethod {
public static void main(String[] args) {
// Initialize your templateArray which you want a copy of
int[] templateArray = new int[] {1, 2, 3, 4, 5, 6};
System.out.println("Template Array: " + Arrays.toString(templateArray));
// Create a "copy" of template array using
// Arrays.copyOf(int[] array, int arrayLength) method
// CASE 1: Sizes of both template & copy arrays are same
int[] copyArray1 = Arrays.copyOf(templateArray, templateArray.length);
System.out.println("Copy Array 1: " + Arrays.toString(copyArray1));
// CASE 2: Size of copy array > Size of template array
// extra space in copy array is filled with zeros
int[] copyArray2 = Arrays.copyOf(templateArray, 10);
System.out.println("Copy Array 2: " + Arrays.toString(copyArray2));
// CASE 3: Size of copy array < Size of template array
// copy array is only filled with only elements in overlapping size
int[] copyArray3 = Arrays.copyOf(templateArray, 3);
System.out.println("Copy Array 3: " + Arrays.toString(copyArray3));
}
}
Pengeluaran
Tatasusunan Templat: [1, 2, 3, 4, 5, 6] Tatasusunan Salin 1: [1, 2, 3, 4, 5, 6] Tatasusunan Salin 2: [1, 2, 3, 4, 5, 6, 0, 0, 0, 0] Tatasusunan Salin 3: [1, 2, 3]
GO TO FULL VERSION