如何在 Scala 中使用选项[Set[A]]?

问题描述 投票:0回答:2

给出一个玩具示例,例如:

val myMap = Map("a" -> Set(10, 20))
val myVal = 20

有更简洁的方法吗?:

val myKey = "a" // imagine this comes from a loop
myMap.get(myKey) match {
  case Some(set) => set.contains(myVal)
  case None => false
}

我想我可以做到这一点,但这似乎不符合习惯:

myMap.contains(myKey) && 
  selectedGsnsAtOdo(myKey).contains(myVal)

此问题相关

scala
2个回答
4
投票

这将获得与

match
表达式相同的结果:

myMap.get(myKey).exists(_.contains(myVal))

0
投票

你可以写

myMap.getOrElse(myKey, Set.empty).contains(myVal)

甚至可能立即使用以空集作为默认值的映射。

© www.soinside.com 2019 - 2024. All rights reserved.