Как я уже упоминал в названии.Я хотел бы сгруппировать список пар по второму значению.Я придумал приведенный ниже код, который прекрасно работает, но мне интересно, есть ли возможность сделать это более элегантно, используя лямбды.
val data = mapOf(
Pair("a1", listOf("b1", "b2", "b3", "b4", "b5")),
Pair("a2", listOf("b1", "b7", "b8", "b9", "b10")),
Pair("a3", listOf("b6", "b7", "b8", "b9", "b10")),
Pair("a4", listOf("b6", "b7", "b8", "b9", "b11")),
Pair("a5", listOf("b6", "b2", "b12", "b9", "b13"))
)
val map = mutableMapOf<String, MutableList<String>>()
data.forEach { (k, v) ->
v.forEach {
if (map.containsKey(it)) {
map[it]?.add(k)
} else {
map[it] = mutableListOf(k)
}
}
}