我是Kotlin的新手,我試圖總結一個查詢。 我有一個Map<Int, List<Objects>>
Int:Month和List<Objects>
該月的所有操作過程。kotlin集合將地圖轉換爲新的地圖,其值從原始計算
我現在要做的是得到一個Map<Int, Long>
其中Long:所有操作的count()。
我已經通過map,mapValues,fold ...但沒有得到正確的答案。
我是Kotlin的新手,我試圖總結一個查詢。 我有一個Map<Int, List<Objects>>
Int:Month和List<Objects>
該月的所有操作過程。kotlin集合將地圖轉換爲新的地圖,其值從原始計算
我現在要做的是得到一個Map<Int, Long>
其中Long:所有操作的count()。
我已經通過map,mapValues,fold ...但沒有得到正確的答案。
假設你開始:
val monthOfOperations: Map<Int, List<Operation>>
那麼你可以簡單:
val monthOfOperationCounts = monthOfOperations.mapValues { it.value.size }
// result: Map<Int, Int> of Month to Count of Operations
注意結果是Map<Int, Int>
因爲收藏規模Int
而不是Long
。爲了有一個Long
如果真的需要:
val monthOfOperationCounts = monthOfOperations.mapValues { it.value.size.toLong() }
// result: Map<Int, Long> of Month to Count of Operations
但沒有理由存儲在Long
的Int
值。
好吧,傻我...我只是沒有把它value.value.size裏面mapValue。謝謝! – Nacho
是不是'mapValues'正是你想要的?果然,它給你'Entry'而不僅僅是價值,但這只是一種方法調用比理想更長的時間。 –
您應該顯示您嘗試過的代碼以及爲什麼失敗,因爲您實際上提到了一個工作解決方案,因此您一定幾乎已經在那裏。 –