ped*_*o91 4 collections scala optional
想象一下,你有一个Map[Option[Int], String],你想Map[Int, String]丢弃包含None密钥的条目.
另一个应该以某种方式类似的例子是List[(Option[Int], String)]将其转换为List[(Int, String)],再次丢弃包含None第一个元素的元组.
什么是最好的方法?
collect 你的朋友在这里:
val data = Map(Some(1) -> "data", None -> "")
Run Code Online (Sandbox Code Playgroud)
scala> data collect { case ( Some(i), s) => (i,s) }
res4: scala.collection.immutable.Map[Int,String] = Map(1 -> data)
Run Code Online (Sandbox Code Playgroud)
scala> data.toList collect { case ( Some(i), s) => (i,s) }
res5: List[(Int, String)] = List((1,data))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
109 次 |
| 最近记录: |