Что такое идиоматический способ сопоставления ключей с соответствующим списком списков?Пример, приведенный ниже:
val s = listOf(1, 9)
val u = listOf(listOf(1, 2, 3), listOf(1, 4, 7), listOf(1, 5, 9))
Я хотел бы иметь Map<Int, List<List<Int>>>
такой, чтобы каждый ключ в s
отображался в список списков, содержащих этот ключ:
{1=[ [1, 2, 3], [1, 4, 7], [1, 5, 9] ], 9=[ [1, 5, 9] ]}
Следующее:
s.groupBy({ it }, { x -> u.filter { it.contains(x) } })
производит:
{1=[[[1, 2, 3], [1, 4, 7], [1, 5, 9]]], 9=[[[1, 5, 9]]]}
, что не совсем правильно и неясно, как сгладить результат до ожидаемой формы.