Avatar ·

ما الفرق بين List و Array في Kotlin؟ متى نستخدم كلًا منهما؟

مرحبًا! لقد بدأت للتو في تعلم Kotlin بعد Java وأصبحت مرتبكًا في أنواع البيانات. في Java، اعتدت أن المصفوفات (arrays) هي نوع أساسي، والقوائم (List) هي واجهة من إطار المجموعات (Collections Framework). لكن في Kotlin، ظهر أيضًا نوع Array، وأنا لا أفهم متى أستخدم أيًا منهما. على سبيل المثال، كتبت هذا الكود: ```kotlin val array: Array = arrayOf(1, 2, 3) val list: List = listOf(1, 2, 3) // محاولة تغيير عنصر array[0] = 10 // هذا يعمل list[0] = 10 // خطأ: No set method providing array access ``` أرى أن المصفوفة قابلة للتغيير، بينما القائمة ليست كذلك. لكن هناك MutableList! إذن لماذا نحتاج Array؟ بالإضافة إلى ذلك، سمعت أن المصفوفات في Kotlin هي مصفوفات JVM، والقوائم هي أغلفة (wrappers) حول ArrayList. لكن كيف يؤثر هذا على الأداء والاختيار؟ سؤال آخر: رأيت أن هناك مصفوفات منفصلة للأنواع البدائية: IntArray, ByteArray إلخ. أما بالنسبة لـ List فليس هناك شيء مماثل. لماذا؟ وماذا يجب أن أختار لتخزين 1000 عدد صحيح: Array أم List؟ أرجو التوضيح، من فضلك.