لماذا لا تحتوي List في Kotlin على طريقتين add() و remove()، ولا Map على put()؟
مرحبًا! بدأت للتو في تعلم Kotlin بعد Java وواجهت موقفًا غير مفهوم. في Java اعتدت العمل مع القوائم هكذا:
```kotlin
val list = ArrayList()
list.add("Привет") // هذا يعمل في Java
```
لكن في Kotlin أحصل على خطأ في الترجمة عندما أحاول استدعاء `add()` أو `remove()` على `List` عادي. نفس المشكلة مع `Map` — الطريقة `put()` غير متاحة. بينما يتم ترجمة الكود إذا استخدمت `MutableList` أو `MutableMap`.
إليك مثال لا يعمل:
```kotlin
fun main() {
val fruits = listOf("Яблоко", "Банан")
fruits.add("Апельсин") // خطأ: Unresolved reference: add
val capitals = mapOf("Россия" to "Москва")
capitals.put("Франция", "Париж") // خطأ: Unresolved reference: put
}
```
لماذا تم ذلك بهذه الطريقة؟ ما معنى الفصل بين `List` و `MutableList`؟ وكيف يمكن إضافة/إزالة العناصر بشكل صحيح؟ لقد قرأت الوثائق، لكني أريد فهم فلسفة هذا النهج. شكرًا مقدمًا على الشرح!