我有一個對象列表[T],每個對象都有另一個對象列表[M]。我想過濾出內部列表M給出的值作爲比較。如何從scala中的對象的子列表中篩選元素?
這是該名單的一個例子:
case class People(val name: String, val pets: List[Pet])
case class Pet(val name: String, val `type`: String)
val noisyNeighbors = List(
People(
"Obelix",
List(
Pet("koko", "cat"),
Pet("kiki", "dog")
)
),
People(
"Asterix",
List(
Pet("piki", "lizard"),
Pet("poko", "dog")
)
)
)
給定一個val petTypeToRemove = "dog"
,我想有一個結果列表:
val lessNoisyNeighbors = List(
People(
"Obelix",
List(
Pet("koko", "cat")
)
),
People(
"Asterix",
List(
Pet("piki", "lizard")
)
)
)
我已經嘗試了一些東西,但我不真的不知道從哪裏開始:
val lessNoisyNeighbors = noisyNeighbors.filter {
???
}