دوال المصفوفات
جزء من قسم Fundamentals في رحلة 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].
التحدي
سهلقم بإنشاء طريقة تسمى 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)على سبيل المثال:
// مصفوفة المصدر
String[] sourceArray = {"1", "2", "3", "4", "5"};
// مصفوفة الوجهة
String[] destinationArray = new String[5];
// نسخ العناصر من sourceArray إلى destinationArray
System.arraycopy(sourceArray, 0, destinationArray, 0, 5);مصفوفة الوجهة بعد النسخ: 1 2 3 4 5
ورقة مرجعية
توفر فئة Arrays طرقًا مفيدة لمعالجة المصفوفات:
Arrays.methodName(arrayName, otherParameters)طرق Arrays الأساسية:
fill(array, value)- يملأ المصفوفة بقيمة محددةtoString(array)- يحول المصفوفة إلى سلسلة نصية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]استخدم System.arraycopy() لنسخ العناصر بين المصفوفات:
System.arraycopy(sourceArray, sourceStartPosition, destinationArray, destinationStartPosition, length)مثال:
String[] sourceArray = {"1", "2", "3", "4", "5"};
String[] destinationArray = new String[5];
System.arraycopy(sourceArray, 0, destinationArray, 0, 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));
}
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
4المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمة (Modulo)الزيادة والنقصانالزيادة والنقصان اللاحقةاختصارات العمليات الحسابيةمعاملات المقارنةمقارنة النصوص7أساسيات الإدخال والإخراج
دوال System.outتنسيق المخرجاتكلاس Scannerمراجعة - حتى 120مراجعة - صح أم خطأ5المعاملات - الجزء الثاني
المعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيطالمعاملات المنطقية - الجزء الثالثالمعاملات المنطقية - الجزء الرابع11أساسيات المصفوفات
تعريف المصفوفاتالوصول إلى العناصرتعديل المصفوفاتدوال المصفوفاتمراجعة - مصفوفة الضربمراجعة - المصفوفة المعكوسة3المتغيرات - الجزء الثاني
الثوابتقواعد التسميةمراجعة - تهيئة المتغيراتتحويل الأنواع - الجزء الأولتحويل الأنواع - الجزء الثاني6اتخاذ القرار
جملة Ifجملة If - Elseجملة Switchالمعامل الثلاثيمراجعة - If Elseجملة If - Else المتداخلة