Wie man eine List in eine Map in Kotlin umwandelt: vollständige Anleitung
Hallo zusammen! Ich habe gerade angefangen, Kotlin nach Java zu lernen, und habe ein Problem mit der Umwandlung einer Liste von Objekten in eine Map. In Java habe ich Schleifen oder das Stream API mit Collectors.toMap() verwendet, aber in Kotlin habe ich die richtige Syntax noch nicht verstanden.
Ich habe eine einfache data class:
```kotlin
data class User(val id: Int, val name: String)
```
Und eine Liste von Benutzern:
```kotlin
val users = listOf(
User(1, "Anna"),
User(2, "Boris"),
User(3, "Viktor")
)
```
Ich muss diese Liste in eine Map umwandeln, wobei der Schlüssel die Benutzer-ID und der Wert das User-Objekt selbst ist. Das heißt, ich möchte erhalten: `{1=User(1, "Anna"), 2=User(2, "Boris"), 3=User(3, "Viktor")}`.
Ich habe versucht, so etwas wie `users.map { it.id to it }.toMap()` zu schreiben, aber das sieht seltsam aus und ich bin mir nicht sicher, ob es richtig ist. Außerdem muss ich das Problem mit möglichen doppelten Schlüsseln lösen – was ist, wenn zwei Benutzer dieselbe ID haben? In Java würde ich eine merge function angeben,