Мне нужно объединить карты mapA
и mapB
с парами «имя» - «номер телефона» в окончательную карту, склеив значения дубликатов ключей, разделенные запятыми. Повторяющиеся значения должны быть добавлены только один раз.
Мне нужен самый идиоматичный и правильный с точки зрения языкового подхода.
Например:
val mapA = mapOf("Emergency" to "112", "Fire department" to "101", "Police" to "102")
val mapB = mapOf("Emergency" to "911", "Police" to "102")
Окончательный результат должен выглядеть следующим образом:
{"Emergency" to "112, 911", "Fire department" to "101", "Police" to "102"}
Это моя функция:
fun mergePhoneBooks(mapA: Map<String, String>, mapB: Map<String, String>): Map<String, String> {
val unionList: MutableMap <String, String> = mapA.toMutableMap()
unionList.forEach { (key, value) -> TODO() } // here's I can't come on with a beatiful solution
return unionList
}