Kotlin:将列表分组到地图中

时间:2018-10-02 23:01:35

标签: list dictionary lambda collections kotlin

如何使用Lambda将列表分组到地图中?命令式解决方案如下:

from . import other_function
from . import another_class_file

1 个答案:

答案 0 :(得分:2)

您可以这样做:

dataList.groupBy { it.a }
        .mapValues { (_, v) -> v.associate { it.b to it.c } }

groupBy函数创建一个Map<Int, List<Data>>,其中List<Data>是在a中共享相同值的所有数据对象。然后,我映射Map的值,创建所需的结构。