Cómo convertir una List en un Map en Kotlin: guía completa
¡Hola a todos! Acabo de empezar a aprender Kotlin después de Java, y tengo un problema con la conversión de una lista de objetos a un Map. En Java usaba bucles o Stream API con Collectors.toMap(), pero en Kotlin aún no entiendo la sintaxis correcta.
Tengo una clase de datos simple:
```kotlin
data class User(val id: Int, val name: String)
```
Y una lista de usuarios:
```kotlin
val users = listOf(
User(1, "Anna"),
User(2, "Boris"),
User(3, "Viktor")
)
```
Necesito convertir esta lista en un Map, donde la clave sea el id del usuario y el valor sea el objeto User en sí. Es decir, quiero obtener: `{1=User(1, "Anna"), 2=User(2, "Boris"), 3=User(3, "Viktor")}`.
Intenté escribir algo como `users.map { it.id to it }.toMap()`, pero se ve extraño y no estoy seguro de si es correcto. Además, necesito resolver el problema de posibles claves duplicadas: ¿qué pasa si dos usuarios tienen el mismo id? En Java especificaría una función de merge (merge function).
No answers yet.
Inicia sesión para dejar una respuesta
Blogs