Dhruv Chadha:
私はKotlin内のリストを持っています。私は空の可変設定するには、リストのすべての要素からマップを作成する必要があり、このような何か -
var mutableMap: MutableMap<Int, MutableSet<Int>> = mutableMapOf(someList.map{ it to mutableSetOf<Int>() })
しかし、私はこのエラーを取得しています -
Type mismatch.
Required:
Pair<TypeVariable(K), TypeVariable(V)>
Found:
List<Pair<Int, MutableSet<Int>>>
私はmutableMapOf()が受け入れることを知っているvarargs pairs
私はスプレッド演算子を試してみましたので、(、 *
)、それもdidntの仕事。私は結果を達成するのを助けるしてください。
Tenfour04:
スプレッド演算子は配列ではなく、リストのです。あなたの代わりにMutableSetsのMutableMapの集合の地図としてあなたの変数の型を定義する場合にも、あなたはそれが不変であることをキャストしています。だからあなたのコードを修正するには:
var mutableMap: MutableMap<Int, MutableSet<Int>> = mutableMapOf(*someList.map{ it to mutableSetOf<Int>() }.toTypedArray())
しかし、行うにはきれいになります:
val map = someList.associateWith { mutableSetOf<Int>() }.toMutableMap()