我正在尝试解决一个问题,我想检查 Map 中是否存在键值对 我有这样的 map :
val codemap = new Map[String, List[String]]
我想用静态值制作 map
val codeMap = Map(
"Asset Banking" -> List("audio","doc"),
"avalon" -> List("adaptive-module", "ebook-plus")
)
我有 2 个动态变量:
val a: Option[String] = Option("Asset Banking")
val b: Option[String] = Option("audio")
我想检查是否存在 a 和 B 的组合:
我能想到的逻辑是
if(codemap.key.contains (a))
{
if(codemap.values exist for above key)
then do something
}else
{
do something
}
这是解决这个问题的好方法吗?
这是流数据 a
,b
是来自流的字段
我想根据 a
,b
c
a
,b
需要是将存储在 map 中的某种组合。
最佳答案
尝试
(for {
k <- a
v <- b
l <- codeMap.get(k)
} yield {
l.contains(v)
}).getOrElse(false)
如果找到组合则输出 true
,否则输出 false
。
关于scala - 如何检查Map中是否存在键值对组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57189190/