ОБНОВЛЕНИЕ : ответ ниже был написан до того, как вопрос был обновлен и изменен способ создания карты (подробности см. В истории вопроса).Поскольку вопрос сейчас стоит, ответ ниже не будет работать.Я полагаю, что он работает для вопроса, который был задан изначально.
@ Роланд прав, что ваша карта никогда не приведёт к этому списку, потому что на карте может быть только одно значение против любого данного ключа.Поэтому я думаю, что вам нужно заменить эту карту списком пар.Затем вы можете сгруппировать его и отобразить на карте, чтобы получить желаемый результат:
val pairs = listOf("a" to 1, "a" to 2, "b" to 3, "b" to 4)
val result = pairs
.groupBy { it.first }
.flatMap { (key, values) -> listOf(key).plus(values.map { it.second }) }
Еще один немного другой вариант, который вы могли бы счесть более читабельным, это:
val result = pairs
.groupBy({ it.first }, { it.second })
.flatMap { (key, values) -> listOf(key).plus(values) }