我有两个 list :
val list1 = List("word1","word2","word2","word3","word1")
val list2 = List("word1","word4")
我想从
list2
中删除所有出现的list1
元素,即我想要List("word2","word2","word3") <= list1 *minus* list2
我做了
list1 diff list2
这给了我List("word2","word2","word3","word1")
,它仅删除了第一次出现的“word1”。我无法将其转换为集合,因为我需要有关重复项的知识(请参见上面的“word2”)。该怎么办?
最佳答案
您可以
val unwanted = list2.toSet
list1.filterNot(unwanted)
删除
list2
中的所有项目。 (您不需要知道list2
中的重复项。)关于list - 两个列表的Scala差异,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16278098/