ما الفرق بين 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` يفعل نفس الشيء؟ وكيف يرتبط هذا بالأداء؟ أرجو التوضيح، ما الفرق الأساسي؟