تهيئة المصفوفة في Kotlin: 5 طرق مع أمثلة برمجية

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

المصفوفات في Kotlin: لا تخف، الأمر بسيط

\n\n

إذا كنت تنتقل من Java إلى Kotlin أو بدأت للتو في تعلم هذه اللغة الحديثة، فإن سؤال "كيفية تهيئة مصفوفة في Kotlin بالقيم" يظهر على الفور تقريبًا. على Stack Overflow، جمع هذا الموضوع آلاف المشاهدات - مما يعني أن الموضوع مهم حقًا.

\n\n

الخبر السار: جعلت Kotlin العمل مع المصفوفات أكثر سهولة بكثير من Java. الخبر السيئ: هناك عدة طرق، وغالبًا ما يختلط الأمر على المبتدئين. دعنا نستعرض مرة واحدة وإلى الأبد جميع خيارات تهيئة مصفوفة Kotlin - من البسيط إلى المعقد، مع أمثلة برمجية حقيقية.

\n\n

1. الطريقة الأسهل: arrayOf()

\n\n

الدالة arrayOf() هي خبزك اليومي. تنشئ مصفوفة من القيم المُمررة، وتحدد النوع تلقائيًا.

\n\n
// مصفوفة أعداد صحيحة\nval numbers = arrayOf(1, 2, 3, 4, 5)\n\n// مصفوفة نصوص\nval fruits = arrayOf("تفاحة", "موز", "برتقال")\n\n// مصفوفة من نوع مختلط (Any)\nval mixed = arrayOf(42, "Kotlin", true)\n\nprintln(numbers.contentToString()) // [1, 2, 3, 4, 5]\nprintln(fruits.contentToString())   // [تفاحة, موز, برتقال]\n
\n\n

هام: arrayOf() تنشئ Array<T> - مصفوفة كائنية. إذا كنت بحاجة لأنواع بدائية (int, char, boolean) للأداء، تابع القراءة.

\n\n

2. المصفوفات البدائية: intArrayOf(), doubleArrayOf() وغيرها

\n\n

تقدم Kotlin دوال متخصصة لكل نوع بدائي. توفر الذاكرة وتعمل بشكل أسرع:

\n\n
// أعداد صحيحة\nval intArr = intArrayOf(10, 20, 30, 40, 50)\n\n// أعداد عشرية\nval doubleArr = doubleArrayOf(1.5, 2.7, 3.14)\n\n// قيم منطقية\nval boolArr = booleanArrayOf(true, false, true)\n\n// أحرف\nval charArr = charArrayOf('K', 'o', 't', 'l', 'i', 'n')\n\n// بايتات\nval byteArr = byteArrayOf(0x48, 0x65, 0x6C, 0x6C, 0x6F) // "Hello"\n\nprintln(intArr.joinToString()) // 10, 20, 30, 40, 50\n
\n\n

القائمة الكاملة: intArrayOf, doubleArrayOf, floatArrayOf, longArrayOf, shortArrayOf, byteArrayOf, booleanArrayOf, charArrayOf.

\n\n

متى تستخدمها؟ إذا كنت تعمل مع بيانات كبيرة أو تكتب كودًا عالي الأداء - استخدم المصفوفات البدائية. للمهام العادية، arrayOf() كافية تمامًا.

\n\n

3. مُنشئ المصفوفة: Array(size) مع لامدا

\n\n

الطريقة الأكثر مرونة لتهيئة مصفوفة في Kotlin هي استخدام المُنشئ مع تعبير لامدا. تحدد الحجم وقاعدة التعبئة:

\n\n
// مربعات الأعداد من 0 إلى 4\nval squares = Array(5) { i -> i * i }\nprintln(squares.contentToString()) // [0, 1, 4, 9, 16]\n\n// مصفوفة من 10 أعداد عشوائية\nimport kotlin.random.Random\nval randoms = Array(10) { Random.nextInt(100) }\nprintln(randoms.contentToString()) // [42, 17, 83, 5, 91, ...]\n\n// مصفوفة نصوص بنمط\nval labels = Array(3) { index -> "العنصر #${index + 1}" }\nprintln(labels.contentToString()) // [العنصر #1, العنصر #2, العنصر #3]\n
\n\n

تستقبل اللامدا فهرس العنصر (من 0 إلى size-1) ويجب أن تُرجع قيمة. هذه أداة قوية - يمكنك ملء المصفوفة بأي قاعدة، بما في ذلك استدعاء الدوال.

\n\n

4. arrayOfNulls() — مصفوفة بخلايا فارغة

\n\n

أحيانًا تحتاج إلى إنشاء مصفوفة وملؤها لاحقًا. لهذا يوجد arrayOfNulls():

\n\n
// مصفوفة من 5 عناصر null\nval nullArray = arrayOfNulls<String>(5)\nprintln(nullArray.contentToString()) // [null, null, null, null, null]\n\n// نملؤها لاحقًا\nnullArray[0] = "الأول"\nnullArray[2] = "الثالث"\nprintln(nullArray.contentToString()) // [الأول, null, الثالث, null, null]\n
\n\n

يجب تحديد النوع صراحةً — المترجم

المدونات

توصيات الكتب