我有mySeq: IndexedSeq[A]
和另一个myIncludedSeq: IndexedSeq[A]
,其中myIncludedSeq
的每个元素都包含在mySeq
中。
我想从IndexedSeq[A]
创建一个新的mySeq
,但不包含myIncludedSeq
中的所有元素。
我找不到任何有用的方法来解决这个问题。你会怎么做?
示例:
val mySeq = IndexedSeq("a", "b", "a", "c", "d", "a")
val myIncludedSeq = IndexedSeq("a", "d", "a")
//magic
val expectedResult = IndexedSeq("b", "c", "a") //the order does not matter
答案 0 :(得分:3)
这个怎么样?
val original = IndexedSeq("a", "b", "a", "c", "d", "a")
val exclude = IndexedSeq("a", "d", "a")
val result = original.diff(exclude)
// IndexedSeq[String] = Vector(b, c, a)
来自list&#s; diff doc:
计算此列表与另一个序列之间的多集差异。 返回一个新列表,其中包含此列表的所有元素,但 一些出现的元素也出现在"排除"名单。如果 元素值x出现n次,然后出现前n次 x不会形成结果的一部分,但会出现以下任何事件 将