ما هي طريقة 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