根据字符串列表过滤案例类对象列表

时间:2017-04-09 11:24:28

标签: string list filter scala-collections

我有一个案例类作为此User(id:String,name:String,address:String,password:String),另一个案例类作为Account(userId:String,accountId:String,roles:Set [String]) 。我需要根据我在Scala中作为List [String]的userIds列表过滤Account对象列表(List [Account])。我一直在努力解决这个问题并试图这样做但不能。关于我该怎么做的任何指示都会非常有帮助。 谢谢!

1 个答案:

答案 0 :(得分:0)

我不确定我是否正确理解了您的问题,但是如果您只是试图只保留AccountuserId是您的单独收集的一部分有,你可以这样做:

val accounts: List[Account] = ???
val idsToKeep: Set[String] = ???
accounts.filter(a => idsToKeep.contains(a.userId))

对于记录,如果您经常使用contains方法,最好使用Set[String]而不是List[String]来存储要保留的ID。