How to get the difference between two lists?
list, scala
Solution
You can use
val unwanted = list2.toSet
list1.filterNot(unwanted)
to remove all items in `list2` (you don't need knowledge of duplicates in `list2`).
Problem
I have two lists: ``` val list1 = List("word1","word2","word2","word3","word1") val list2 = List("word1","word4") ``` I want to remove all occurrences of `list2` elements from `list1`, i.e. I want ``` List("word2","word2","word3") <= list1 *minus* list2 ``` I did `list1 diff list2` which gives me `List("word2","word2","word3","word1")` which is removing only the first occurrence of "word1". I cannot convert it to sets because I need knowledge about duplicates (see "word2" above). What to do?