我正在寻找一种方法来在Kotlin中对列表的元素进行分组,使一个元素可以驻留在多个结果组中.
假设列表的元素如下所示:
data class Member (
val name: String,
val roles: List<String> = mutableListOf()
)
我想要做的是:
listOf(
Member(name = "Name One", roles = listOf("A", "B")),
Member(name = "Name Two", roles = listOf("A", "C"))
).groupBy{ it.roles }
结果应该是包含对象的Map<String, List<Member>>
(在本例中简化为名称):
Key | Value |
---|---|
A | ["Name One", "Name Two"] |
B | ["Name One"] |
C | ["Name Two"] |
这在Kotlin标准库中是可能的,还是我必须自己实现它? 我只是想确认一下:问题是"已经有什么了吗?"当然,我首先阅读了所有文档,但我不确定是否遗漏了什么.
我明确地不是要求定制实现.