在scala中按公共元素合并两个元组列表

时间:2017-09-07 17:12:27

标签: scala list

我有两个表单

[(a,b,c,d,e,f),(h,i,j,k,l,m)]

[(c, d, 1), (k,l,2)]

如何合并两个列表,以便最后一个列表

[(a,b,c,d,e,f,1),(h,i,j,k,l,m,2)]

想法是合并两个列表中的公共元素

1 个答案:

答案 0 :(得分:-1)

您需要在此处使用数据结构。一个集合不能有重复元素,因此您可以使用集合轻松解决此问题。

val list1 = (List("a","b","c","d","e","f"),List("h","i","j","k","l","m"))
val list2 = (List("c", "d", 1), List("k","l",2))'
val result = (list1._1.toSet ++ list2._1.toSet, list1._2.toSet ++ list2._2.toSet)

如果你想将它们作为一系列对象,那么:

(result._1.toSeq, result._2.toSeq)

如果您想订购它们,那么您需要定义一个订单功能,因为您已经将字符串和Ints混合了