Avatar ·

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

مرحبًا أيها الزملاء! لقد بدأت للتو في تعلم Kotlin وانتقلت من Java. في Kotlin هناك نوعان متشابهان: `List` و `Array`. أرى أن كلاهما يخزن عناصر متعددة، لكن لا أستطيع فهم الفرق الرئيسي ومتى أستخدم كل منهما. على سبيل المثال، أكتب برنامجًا بسيطًا لتخزين أسماء الطلاب: ```kotlin val namesArray = arrayOf("Alice", "Bob", "Charlie") val namesList = listOf("Alice", "Bob", "Charlie") ``` كلاهما يعمل، يمكنني الوصول عبر الفهرس: `namesArray[0]` و `namesList[0]` — كلاهما يعيد "Alice". لكن لاحظت أن `Array` له خاصية `size`، بينما `List` له `count()`. كما يمكنني تغيير عنصر المصفوفة: ```kotlin namesArray[0] = "Eve" // يعمل namesList[0] = "Eve" // خطأ في الترجمة ``` لماذا هذا؟ وسمعت أيضًا أن `List` يمكن أن يكون قابلاً للتغيير (`MutableList`)، بينما المصفوفة دائمًا قابلة للتغيير. لكن لماذا نحتاج إلى `Array` إذا كان `MutableList` يفعل نفس الشيء؟ وكيف يرتبط هذا بالأداء؟ أرجو التوضيح، ما الفرق الأساسي؟