我想检查 Map 是否不包含空值。如果该值为空,则不应包含在新 Map 中。

我试过类似的东西:

val newmap = map.map{ entry => if(!entry._2.isEmpty()) Map(entry._1 -> entry._2)}

这确实符合我的要求,但不是很好。有更好的解决方案吗?

最佳答案

scala> Map(1 -> List(3, 4), 2 -> Nil, 3 -> List(11))
res2: scala.collection.immutable.Map[Int,List[Int]] = Map(1 -> List(3, 4), 2 -> List(), 3 -> List(11))

scala> res2.filter(_._2.nonEmpty)
res3: scala.collection.immutable.Map[Int,List[Int]] = Map(1 -> List(3, 4), 3 -> List(11))

scala>

关于scala - 从 Map 中删除一个条目并返回一个新的 Map,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8916422/

10-14 13:33
查看更多