Avatar ·

Kotlin में List को Map में कैसे बदलें: पूर्ण गाइड

सभी को नमस्ते! मैंने अभी-अभी Java के बाद Kotlin सीखना शुरू किया है, और मुझे objects की list को Map में बदलने में समस्या आ रही है। Java में मैं loops या Stream API का उपयोग Collectors.toMap() के साथ करता था, लेकिन Kotlin में मैं अभी तक सही syntax समझ नहीं पाया हूँ। मेरे पास एक सरल data class है: ```kotlin data class User(val id: Int, val name: String) ``` और users की list: ```kotlin val users = listOf( User(1, "Анна"), User(2, "Борис"), User(3, "Виктор") ) ``` मुझे इस list को Map में बदलना है, जहाँ key user का id होगा और value खुद User object होगा। यानी मैं यह चाहता हूँ: `{1=User(1, "Анна"), 2=User(2, "Борис"), 3=User(3, "Виктор")}`. मैंने कुछ ऐसा लिखने की कोशिश की `users.map { it.id to it }.toMap()`, लेकिन यह अजीब लगता है और मुझे यकीन नहीं है कि यह सही है। इसके अलावा, मुझे duplicate keys की संभावित समस्या को हल करना है — अगर दो users का id समान हो तो क्या होगा? Java में मैं merge function निर्दिष्ट करता था।