2017-04-09 14 views
0

私はこのユーザ(ID:String、name:String、address:String、password:String)としてcaseクラスを持ち、Account(userId:文字列、accountId:文字列、ロール:Set [文字列])。私はScalaのList [String]として持っているuserIdsのリストに基づいてAccountオブジェクト(List [Account])のリストをフィルタリングする必要があります。私はこれに苦労してこれをやろうとしましたが、できませんでした。どのようにこれを行うべきかについての指針は本当に役立つだろう。 ありがとう!文字列のリストに基づいてケースクラスオブジェクトのリストをフィルタリングします

答えて

0

私は私が正しくあなたの質問を理解してかどうかわからないんだけど、あなただけuserIdはあなたが持っている別のコレクションの一部であるためにのみAccount秒を維持しようとしている場合、あなたはこのようにそれを行うことができます。

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

あなたはcontains方法をたくさん使用している場合、あなたは維持するためのIDを格納するList[String]よりSet[String]を使用したほうが良いです。

関連する問題