Avatar ·

如何在 Kotlin 中将列表 (List) 转换为字典 (Map)?

大家好!我刚开始学习 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 标准库中哪些函数最适合用于此?提前感谢! <<>>

使用 associateBy 函数