scala – 将地图[K,选项[V]]转换为地图[K,V]的更好方法
发布时间:2020-12-16 09:38:13 所属栏目:安全 来源:网络整理
导读:我有一些代码生成一个Map,其中值是Option类型,我当然想要一个只包含真实值的地图。 所以我需要转换这个,我在代码中提出了什么 def toMap[K,V](input: Map[K,Option[V]]): Map[K,V] = { var result: Map[K,V] = Map() input.foreach({ s: Tuple2[K,Option[
我有一些代码生成一个Map,其中值是Option类型,我当然想要一个只包含真实值的地图。
所以我需要转换这个,我在代码中提出了什么 def toMap[K,V](input: Map[K,Option[V]]): Map[K,V] = { var result: Map[K,V] = Map() input.foreach({ s: Tuple2[K,Option[V]] => { s match { case (key,Some(value)) => { result += ((key,value)) } case _ => { // Don't add the None values } } } }) result } 这是有效的,但似乎不合适。我怀疑这是内置在我缺少的集合库中的东西。 有没有内置的东西,还是比较惯用的方法呢? 解决方法input.collect{case (k,Some(v)) => (k,v)} (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- angularjs – 如何更好地组织角度的动态加载指令
- angularjs – 如何在具有孤立范围的指令上使用ng
- Angular2 RC1子路由已定义但未被识别
- wsdl – 使用svcutil生成WebService代理的问题
- 解决YUM下Loaded plugins: fastestmirror Determ
- 如何为无参数函数定义scala类型?
- WebService no service was ont fund in the WSD
- scala – Spark:如何在LabeledPoint上执行欠采样
- angularjs – 使用nghandsontable访问handsontab
- 浏览unix“man”命令页面时如何进行“上传”?
热点阅读