Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

دوال المصفوفات

جزء من قسم الأساسيات في رحلة Java على Coddy. الدرس 61 من 73.

المصفوفات مزوّدة بالعديد من الأساليب (الوظائف). للوصول إلى أسلوب، اكتب:

Arrays.methodName(arrayName, otherParameters)

إليك قائمة بالأساليب الأساسية:

  • fill(array, value) - يملأ المصفوفة بقيمة محددة
  • toString() - يحوّل المصفوفة إلى سلسلة نصية
  • sort(array) - يرتب المصفوفة بترتيب تصاعدي
  • equals(array1, array2) - يقارن بين مصفوفتين لتحديد ما إذا كانتا متساويتين

إليك مثالًا على كيفية استخدام الطريقة fill مع toString:

int[] numbers = new int[5];
Arrays.fill(numbers, 10);
System.out.println(Arrays.toString(numbers));

سيُخرج هذا [10, 10, 10, 10, 10].

مثال على طريقة sort:

int[] numbers = {5, 2, 9, 1, 5, 6};
Arrays.sort(numbers);
System.out.println(Arrays.toString(numbers));

سيُخرج هذا [1, 2, 5, 5, 6, 9].

challenge icon

التحدي

سهل

أنشئ أسلوبًا باسم merge يتلقى مصفوفتين كوسيطتين. يدمج الأسلوب المصفوفتين في مصفوفة واحدة مرتبة ويعيدها.

مهم: يجب ترتيب المصفوفة المدمجة النهائية بترتيب تصاعدي.

على سبيل المثال، الوسيطتان التاليتان: merge(new String[] {"1", "4", "2"}, new String[] {"2", "5", "9"}) ستعيدان ["1", "2", "2", "4", "5", "9"] (لاحظ أن النتيجة مرتبة)

استخدم System.arraycopy() لنسخ العناصر من مصفوفة إلى أخرى. الصيغة هي: 

System.arraycopy(sourceArray, sourceStartPosition, destinationArray, destinationStartPosition, length)

تنسخ System.arraycopy() فقط إلى مصفوفة موجودة بالفعل؛ ولا تزيد حجم المصفوفة الوجهة أبدًا. أنشئ المصفوفة المدمجة أولًا باستخدام arr1.length + arr2.length خانة، وانسخ arr1 إلى الموضع 0، ثم انسخ arr2 بدءًا من الموضع arr1.length.

على سبيل المثال:

// Source array
String[] sourceArray = {"1", "2", "3", "4", "5"};
        
// Destination array
String[] destinationArray = new String[5];
        
// Copy elements from sourceArray to destinationArray
System.arraycopy(sourceArray, 0, destinationArray, 0, 5);

مصفوفة Destination بعد النسخ: 1 2 3 4 5

جرّب بنفسك

import java.util.Arrays;
import java.util.Scanner;


public class Main {
    public static String[] merge(String[] arr1, String[] arr2) {
        // اكتب الكود هنا
        return null;
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String textArr1 = scanner.nextLine();
        String textArr2 = scanner.nextLine();
        String[] arr1 = textArr1.split(",");
        String[] arr2 = textArr2.split(",");

        String[] mergedArray = merge(arr1, arr2);
        System.out.println(Arrays.toString(mergedArray));
    }
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس الأساسيات

تدرّب بنفسك: مترجم Java عبر الإنترنت