有什么方法可以创建Map of? 下面我展示了我现在得到的。第一种解决方案更清洁,但是需要获取我不需要的另一个对象(功能编程)。
val result: MutableMap<key, MutableList<Int>> = mutableMapOf()
someArray.onEach { (key, int) ->
result
.computeIfAbsent(key.id) { mutableListOf() }
.add(int)
}
return list
我得到的东西不太干净
return someArray
.map { (key, int) ->
key.id to int
}
.groupBy { it.first }
.map { (k, v) ->
k to v.filter { it.first == k }
.map { it.second }
}
答案 0 :(得分:3)
groupBy
支持第二个参数,该参数可用于立即转换值,因此您仅需要以下内容(注意:还将map
调用集成到键选择器中):
someArray.groupBy({ it.first.id }, { it.second })