如果我有一个元组列表,我可以转换为一个地图toMap
:
val x = (3 -> 3) List(x).toMap
我明白了
scala.collection.immutable.Map[Int,Int] = Map(3 -> 3)
如果我有一个可选列表并尝试相同,我会收到一个错误:
val x = Some(3 -> 3) val y = None List(x, y).toMap:15: error: Cannot prove that Some[(Int, Int)] <:< (T, U).
我想得到相同的结果.可能吗?
您可以使用flatten
上List
删除None
S:
val x = Some(3 -> 3) val y = None List(x, y).flatten.toMap > scala.collection.immutable.Map[Int,Int] = Map(3 -> 3)