[英]Kotlin convert Map<Key, Value> to Map<key, List<Value>>
有什么方法可以創建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 }
}
groupBy
支持第二個參數,該參數可用於立即轉換值,因此您只需要以下內容(注意:還將map
-call集成到鍵選擇器中):
someArray.groupBy({ it.first.id }, { it.second })
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.