私は、折り畳みによって配列をインデックス付きのマップに変換しようとしています。どういうわけかIntelliJは、私がUnitを返すアキュムレータを返すとフラグを立てます。私が返品を取り除くと、私は元々返却したいデータ型が必要であると訴える。少し遅れKotlin fold関数を使用して配列をマップに変換する方法は?
constructor(vararg items: Item){
val itemMap = items.fold(mutableMapOf<Int, MutableList<Item>>(), { acc, item ->
if (acc.containsKey(item.state)) {
acc[item.state]?.add(item)
} else {
acc.put(item.state, mutableListOf(item))
}
return acc
})
}
そのので、私はおそらく非常に何かを明らかに見逃してここ(項目だけのデータクラスです)次のように
コードがあります。どんな助けでも大歓迎です。
おかげ
'return'を削除します。 –
FWIWでは、 'val itemMap = items.groupBy {it.state}'でこの全体を達成することもできます。 –
ありがとう@OliverCharlesworth。これはずっと簡単です。私はgroupBy関数について知らなかった。 – Oliver