Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 基于字符串列表筛选事例类对象列表_String_List_Filter_Scala Collections - Fatal编程技术网

String 基于字符串列表筛选事例类对象列表

String 基于字符串列表筛选事例类对象列表,string,list,filter,scala-collections,String,List,Filter,Scala Collections,我有一个case类作为这个用户(id:String,name:String,address:String,password:String),另一个case类作为Account(userId:String,accountId:String,roles:Set[String])。我需要根据用户ID列表过滤Account对象列表(list[Account]),在Scala中,用户ID列表是list[String]。我一直在努力解决这个问题,并尝试这样做,但没有成功。任何关于我应该如何做的建议都会非常有

我有一个case类作为这个用户(id:String,name:String,address:String,password:String),另一个case类作为Account(userId:String,accountId:String,roles:Set[String])。我需要根据用户ID列表过滤Account对象列表(list[Account]),在Scala中,用户ID列表是list[String]。我一直在努力解决这个问题,并尝试这样做,但没有成功。任何关于我应该如何做的建议都会非常有用。
谢谢

我不确定我是否正确理解了您的问题,但如果您只想保留
帐户
s,而
用户ID
是您拥有的单独集合的一部分,您可以这样做:

val accounts: List[Account] = ???
val idsToKeep: Set[String] = ???
accounts.filter(a => idsToKeep.contains(a.userId))
对于记录,如果您经常使用
contains
方法,那么最好使用
Set[String]
而不是
List[String]
来存储要保留的ID