CodeGym /Blog Java /rawak /Kaedah Arrays.copyOf() dalam Java
John Squirrels
Tahap
San Francisco

Kaedah Arrays.copyOf() dalam Java

Diterbitkan dalam kumpulan

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.
Mari lihat contoh pengekodan untuk melihat bagaimana kita boleh mengendalikan ketiga-tiga senario yang dinyatakan di atas. Kaedah Arrays.copyOf() dalam Java - 1

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]

Kesimpulan

Sekarang anda mesti mempunyai pemahaman logik mengenai kaedah Arrays.copyOf() dalam Java. Walau bagaimanapun, jangan ragu untuk bereksperimen dengan input yang berbeza untuk menyemarakkan rasa ingin tahu anda.
Komen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION