English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

ما هي الطرق المختلفة لتكرار مصفوفة إلى مصفوفة أخرى في Java؟

عادةً، تكون المصفوفات حاويات تحتوي على عدة متغيرات من نفس النوع. إنها حجم ثابت، يتم تحديد الحجم عند إنشائها. يتم تحديد كل عنصر في المصفوفة من خلال رقم يبدأ من 0. يمكنك الوصول إلى العناصر في المصفوفة باستخدام الاسم والموقع

System.out.println(myArray[3]);
// هو 1457
إنشاء مصفوفة في Java:

في Java، يتم اعتبار الأنواع الحسابية كنوع مرجعي، يمكنك إنشاء مصفوفة باستخدام مفتاح new الخاص بالمثلثات، واستخدام المؤشر لملئها بأعداد سلبية

int myArray[] = new int[7];
myArray[0] = 1254;
myArray[1] = 1458;
myArray[2] = 5687;
myArray[3] = 1457;
myArray[4] = 4554;
myArray[5] = 5445;
myArray[6] = 7524;

أو يمكنك تخصيص القيم مباشرة داخل الأقواس وتمييزها بفاصلة (,) كي تكون مصفوفة-

int myArray = { 1254, 1458, 5687, 1457, 4554, 5445, 7524};

نسخ المصفوفة

يمكنك نسخ مصفوفة من مصفوفة أخرى بطرق متعددة-

نسخ عنصراً تاركاً -إحدى الطرق هي إنشاء مصفوفة فارغة باستخدام طول المصفوفة الأصلية، ثم نسخ كل عنصر (دائرة)

النموذج

import java.util.Arrays;
public class CopyingArray {
   public static void main(String args[]) {
      //源数组(int)
      int integerArray1[] = { 1254, 1458, 5687, 1457, 4554, 5445, 7524};
      //طول المجموعة
      int length1 = integerArray1.length;
      //Create an empty array
      int integerArray2[] = new int[length1];
      for (int i = 0; i < length1; i++) {
         integerArray2[i] = integerArray1[i];
      }
      System.out.println("مجموعة الأصلية: " + Arrays.toString(integerArray1));
      System.out.println("مجموعة نسخة: " + Arrays.toString(integerArray2));
      //مجموعة المصدر (String)
      String StringArray1[] = { "Mango", "Apple", "Orange", "Banana", "Cherries"};
      //طول المجموعة
      int length2 = StringArray1.length;
      //Create an empty array
      String StringArray2[] = new String[length2];
      for (int i = 0; i < length2; i++) {
         StringArray2[i] = StringArray1[i];
      }
      System.out.println("مجموعة الأصلية: " + Arrays.toString(StringArray1));
      System.out.println("مجموعة نسخة: " + Arrays.toString(StringArray2));
   }
}

نتيجة الإخراج

مجموعة الأصلية: [1254، 1458، 5687، 1457، 4554، 5445، 7524]
مجموعة نسخة: [1254، 1458، 5687، 1457، 4554، 5445، 7524]
مجموعة الأصلية: [مango، تفاح، برتقال، موز، دراق]
مجموعة نسخة: [مango، تفاح، برتقال، موز، دراق]

استخدام طريقة clone() - فئة java.lang.Objectمنclone()يقبل الطريقة إحداثية كمعامل، ويقوم بإنشاء نسخة منها وإرجاعها.

النموذج

import java.util.Arrays;
public class CopyingArray {
   public static void main(String args[]) {
      //源数组(int)
      int integerArray1[] = { 1254, 1458, 5687, 1457, 4554, 5445, 7524};
      //Clone array
      int integerArray2[] = integerArray1.clone();
      System.out.println("مجموعة الأصلية: " + Arrays.toString(integerArray1));
      System.out.println("مجموعة نسخة: " + Arrays.toString(integerArray2));
      //مجموعة المصدر (String)
      String StringArray1[] = { "Mango", "Apple", "Orange", "Banana", "Cherries"};
      //Clone array
      String StringArray2[] = StringArray1.clone();
      System.out.println("مجموعة الأصلية: " + Arrays.toString(StringArray1));
      System.out.println("مجموعة نسخة: " + Arrays.toString(StringArray2));
   }
}

نتيجة الإخراج

مجموعة الأصلية: [1254، 1458، 5687، 1457، 4554، 5445، 7524]
مجموعة نسخة: [1254، 1458، 5687، 1457، 4554، 5445، 7524]
مجموعة الأصلية: [مango، تفاح، برتقال، موز، دراق]
مجموعة نسخة: [مango، تفاح، برتقال، موز، دراق]

استخدام طريقة System.arraycopy() - تقبل طريقة copy() من الفئة System مجموعتين (والمزيد من التفاصيل) وتنسخ محتويات واحدة إلى الأخرى.

النموذج

import java.util.Arrays;
public class CopyingArray {
   public static void main(String args[]) {
      //源数组(int)
      int integerArray1[] = { 1254, 1458, 5687, 1457, 4554, 5445, 7524};
      //Length of the array
      int length1 = integerArray1.length;
      //مجموعة الهدف
      int integerArray2[] = new int[length1];
      //نسخ المجموعة
      System.arraycopy(integerArray1, 0, integerArray2, 0, length1);
      System.out.println("مجموعة الأصلية: " + Arrays.toString(integerArray1));
      System.out.println("مجموعة نسخة: " + Arrays.toString(integerArray2));
      //مجموعة المصدر (String)
      String StringArray1[] = { "Mango", "Apple", "Orange", "Banana", "Cherries"};
      //طول المجموعة
      int length2 = StringArray1.length;
      //مجموعة الهدف
      String StringArray2[] = new String[length2];
      //نسخ المجموعة
      System.arraycopy(StringArray1, 0, StringArray2, 0, length2);
      System.out.println("مجموعة الأصلية: " + Arrays.toString(StringArray1));
      System.out.println("مجموعة نسخة: " + Arrays.toString(StringArray2));
   }
}

نتيجة الإخراج

مجموعة الأصلية: [1254، 1458، 5687، 1457، 4554، 5445، 7524]
مجموعة نسخة: [1254، 1458، 5687، 1457، 4554، 5445، 7524]
مجموعة الأصلية: [مango، تفاح، برتقال، موز، دراق]
مجموعة نسخة: [مango، تفاح، برتقال، موز، دراق]


قد تفضل