У меня есть список документов, где у документа есть владелец - пользователь.
Каков наиболее элегантный способ преобразования этого списка в карту пользователей к списку документов, которыми они владеют?
Например, у меня есть:
"doc1" owned by user "John"
"doc2" owned by user "Frank"
"doc3" owned by user "John"
В итоге я должен получить карту:
"John" -> List("doc1", "doc3"), "Frank" -> List("doc2")
Я могу придумать один способ, который заключается в том, чтобы взять всех уникальных пользователей из документов и для каждого из них отфильтровать список документов, чтобы только те, которыми они владеют, но мне интересно, есть ли способ, который использует фиксированное количество проходов через список, чтобы избежать проблем с производительностью, если список большой.