当前位置:  开发笔记 > 编程语言 > 正文

在Scala中映射的可选元组

如何解决《在Scala中映射的可选元组》经验,为你挑选了1个好方法。

如果我有一个元组列表,我可以转换为一个地图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).

我想得到相同的结果.可能吗?



1> Jean Logeart..:

您可以使用flattenList删除NoneS:

val x = Some(3 -> 3)
val y = None
List(x, y).flatten.toMap

> scala.collection.immutable.Map[Int,Int] = Map(3 -> 3)

推荐阅读
贴进你的心聆听你的世界
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有