如何从scala中的两个列表中获取公共列表

如何从scala中的两个列表中获取公共列表,scala,Scala,我有一个序列 val example1 : Seq[String] = {"ab","ac",ad",ae"} val example2 : Seq[String] ={"ab","af"} 所以我想要一份这样的清单 val example3: Seq[String] = {"ab","ac","ad","ae","af"} 首先,以正确的Scala语法定义输入 val example1 : Seq[String] = Seq("ab","ac","ad","ae") val example

我有一个序列

val example1 : Seq[String] = {"ab","ac",ad",ae"}
val example2 : Seq[String] ={"ab","af"}
所以我想要一份这样的清单

val example3: Seq[String] = {"ab","ac","ad","ae","af"}

首先,以正确的Scala语法定义输入

val example1 : Seq[String] = Seq("ab","ac","ad","ae")
val example2 : Seq[String] = Seq("ab","af")
然后,简单的解决方案是组合输入并删除所有重复条目

(example1 ++ example2).distinct
//res0: Seq[String] = Seq(ab, ac, ad, ae, af)
但是,如果要在两个原始输入序列中保留重复项,这可能不是正确的解决方案

val example1 : Seq[String] = Seq("b","c","a","a")
val example2 : Seq[String] = Seq("a","f","b","b")

(example1 ++ example2).distinct
//res0: Seq[String] = Seq(b, c, a, f) <-is this the correct result?
val示例1:Seq[String]=Seq(“b”、“c”、“a”、“a”)
val示例2:Seq[String]=Seq(“a”、“f”、“b”、“b”)
(示例1++示例2).不同

//res0:Seq[String]=Seq(b,c,a,f)是否还要从最终列表中删除重复的元素?