Rumah >Java >javaTutorial >Bagaimanakah kaedah Arrays.copyOf() dalam Java menyalin tatasusunan ke dalam tatasusunan baharu?
Bagaimanakah kaedah Arrays.copyOf() dalam Java menyalin tatasusunan ke tatasusunan baharu?
Di Java, tatasusunan ialah struktur data yang sangat biasa, dan kelas Tatasusunan Java memberi kami banyak kaedah yang mudah untuk menangani tatasusunan. Antaranya, kaedah Arrays.copyOf() ialah kaedah yang sangat berguna untuk menyalin tatasusunan kepada tatasusunan baharu. Artikel ini akan memperkenalkan prinsip penggunaan dan pelaksanaan kaedah ini, dan memberikan contoh kod khusus.
Kaedah penggunaan
Kaedah Arrays.copyOf() mempunyai dua parameter: tatasusunan asal dan panjang tatasusunan baharu selepas disalin. Kaedah ini mencipta tatasusunan baharu dan menyalin elemen daripada tatasusunan asal kepada tatasusunan baharu. Jika panjang tatasusunan asal lebih besar daripada atau sama dengan panjang tatasusunan baharu, bahagian hadapan tatasusunan asal akan disalin. Jika panjang tatasusunan asal kurang daripada panjang tatasusunan baharu, semua elemen tatasusunan asal akan disalin ke tatasusunan baharu, dan unsur-unsur selebihnya diisi dengan nilai lalai jenis elemen tatasusunan.
Berikut ialah contoh memanggil kaedah Arrays.copyOf():
int[] arr1 = {1, 2, 3, 4, 5};#🎜 🎜# int[] arr2 = Arrays.copyOf(arr1, 3);
int[][] matriks2 = Arrays.copyOf(matrix1, 2);
int[] arr2 = Tatasusunan. copyOfRange( arr1, 1, 4);
return (T[]) copyOf(original, newLength, original.getClass());
}
statik awam
@SuppressWarnings("unchecked") T[] copy = ((Object)newType == (Object)Object[].class) ? (T[]) new Object[newLength] : (T[]) Array.newInstance(newType.getComponentType(), newLength); System.arraycopy(original, 0, copy, 0, Math.min(original.length, newLength)); return copy;
}
Seperti yang dapat dilihat daripada pelaksanaan kod, baris pertama kaedah Arrays.copyOf() memanggil versi overloaded copyOf() kaedah, dan Hasil yang dikembalikan oleh kaedah ini dikembalikan kepada pemanggil. Kaedah ini menerima tatasusunan asal dan panjang tatasusunan baharu sebagai parameter dan menyerahkannya kepada kaedah copyOf() kedua.
Kaedah copyOf() kedua melaksanakan langkah berikut untuk mencipta tatasusunan baharu dan menyalin elemen:
Memandangkan pelaksanaan kaedah Arrays.copyOf() bergantung pada kaedah System.arraycopy(), ia mengikut peraturan dan sekatan kaedah ini, seperti tidak menyalin tatasusunan yang merangkumi dua jenis berbeza.
Summary
Kaedah Arrays.copyOf() ialah cara yang mudah untuk menyalin tatasusunan dalam Java Ia boleh mencipta tatasusunan baharu dan menyalin elemen tatasusunan asal ke tatasusunan baharu. Kaedah ini boleh digunakan untuk menyalin tatasusunan satu dan dua dimensi, serta menyalin julat elemen tertentu. Pelaksanaan kaedah Arrays.copyOf() adalah berdasarkan kaedah System.arraycopy(), jadi ia mempunyai peraturan dan sekatan yang sama. Apabila berurusan dengan tatasusunan, kelas Tatasusunan ialah alat yang sangat berguna yang boleh membantu kami mengendalikan dan memanipulasi tatasusunan dengan lebih mudah.
Atas ialah kandungan terperinci Bagaimanakah kaedah Arrays.copyOf() dalam Java menyalin tatasusunan ke dalam tatasusunan baharu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!