2017-04-09 1 views
0

Ich habe eine Fallklasse wie dieser Benutzer (id: String, Name: String, Adresse: String, Passwort: String) und eine andere Fallklasse als Account (userId: String, accountId: Zeichenfolge, Rollen: Set [String]). Ich muss eine Liste von Konto-Objekten filtern (Liste [Konto]) basierend auf einer Liste von userIds, die ich als Liste [String] in Scala habe. Ich habe damit gekämpft und versucht, dies zu tun, konnte es aber nicht. Irgendwelche Hinweise darauf, wie ich das machen sollte, wären wirklich hilfreich. Danke!Filtert eine Liste von Fallklassenobjekten basierend auf einer Liste von Strings

Antwort

0

Ich bin mir nicht sicher, ob ich Ihre Frage richtig verstanden habe, aber wenn Sie nur nur Account s, für die immer wieder versuchen, die userId Teil der getrennten Sammlung ist, die Sie haben, können Sie es wie folgt tun:

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

Für das Protokoll, wenn Sie die contains Methode viel nutzen, sind Sie besser dran mit einem Set[String] als ein List[String] mit dem IDs speichern zu halten.

Verwandte Themen