كيفية تحويل قائمة (List) إلى قاموس (Map) في Kotlin؟
مرحباً بالجميع! لقد بدأت للتو في تعلم Kotlin وواجهت هذه المشكلة. لدي قائمة من الكائنات (data class)، على سبيل المثال، قائمة من المستخدمين:
```kotlin
data class User(val id: Int, val name: String)
val users = listOf(
User(1, "Alice"),
User(2, "Bob"),
User(3, "Charlie")
)
```
أحتاج إلى تحويل هذه القائمة إلى قاموس (Map)، حيث يكون المفتاح هو `id`، والقيمة هي كائن `User` نفسه (أو اسمه). في Java، كنت سأستخدم الحلقات أو Stream API، لكن في Kotlin، كما أفهم، هناك طرق أكثر إيجازاً.
حاولت كتابة شيء مثل `users.map { it.id to it }`، لكن هذا يعيد قائمة من الأزواج، وليس Map. ثم وجدت طريقة `toMap()`، لكنها لا تعمل دائماً كما أتوقع، خاصة إذا كانت هناك مفاتيح مكررة.
أرجو إرشادي، كيف يمكن حل هذه المشكلة بشكل صحيح وأنيق؟ ما هي الدوال من المكتبة القياسية لـ Kotlin الأفضل استخدامها لهذا؟ شكراً مسبقاً!
<<>>
استخدام دالة