提问人:ahabrahante 提问时间:9/1/2023 最后编辑:ahabrahante 更新时间:9/5/2023 访问量:56
检查 Scala 对象序列中的某些元素是否存在于其他列表中并满足条件
Check if some elements in a Scala's object sequence exist in other list and fulfill condition
问:
我有两个对象序列和 . 是具有此形式的对象列表Seq[A]
Seq[B]
Seq[A]
case class A (tipo: String,
label: String,
code: String)
而B型就是这样
case class B (key: String,
valid_types: Seq[String],
isOptional: Boolean)
这个问题是类似的,已经帮助我处理了这样的非可选元素:Seq[B]
def validation (listA: Seq[A], listB: Seq[B]): Boolean = {
listB.filter(b => !b.isOptional)
.forall { config =>
listA.exists {a =>
a.code == config.key && config.valid_types.contains(a.tipo)
}
}
}
该代码让我检查所有非可选键是否是某个元素的代码,并且这些元素具有有效的类型Seq[B]
Seq[A]
但是对于我目前的问题,我现在只需要为可能存在也可能不存在的可选元素执行此操作Seq[A]
def validateOptional (listA: Seq[A], listB: Seq[B]): Boolean = {
listB.filter(b => b.isOptional)
.exists(config => listA.exists(a => a.code == b.key))
}
如果某些可选键是元素的代码,则此代码返回 true,我需要检查其键中的某些元素是否与可选元素的代码匹配,然后检查该元素的 tipo 是否存在于其他元素的valid_types中
最后,如果满足第一个条件的所有元素也满足第二个条件,则返回 true
如果 in are no 可选元素也返回 true
但我真的可以弄清楚如何进行第二次检查Seq[B]
Seq[A]
Seq[A]
Seq[B]
Seq[A]
Seq[A]
答: 暂无答案
评论
type