מהי שיטת Arrays.copyOf() ב-Java?
מחלקת Java java.util.Arrays מספקת שיטה בשם Arrays.copyOf() המחזירה עותק של מערך שהועבר כפרמטר לפונקציה זו, ולאחר מכן ציון גודלו. הנה כותרת השיטה להבנה מהירה.
Arrays.copyOf(int[] templateArray, int length);
שימו לב שהפרמטר השני "אורך" הוא גודל מערך ההעתקה שברצונכם ליצור. אז כאן יכולים להיות לנו 3 מקרים.
- האורכים של מערכי התבנית וההעתקה זהים.
- אורכו של מערך ההעתקה גדול מאורך מערך התבניות.
- אורכו של מערך ההעתקה קטן מאורך מערך התבניות.

דוגמה לקידוד
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));
}
}
תְפוּקָה
מערך תבניות: [1, 2, 3, 4, 5, 6] העתקת מערך 1: [1, 2, 3, 4, 5, 6] העתקת מערך 2: [1, 2, 3, 4, 5, 6, 0, 0, 0, 0] העתקת מערך 3: [1, 2, 3]
GO TO FULL VERSION