1

比較するリストが 2 つあります。

リスト 1:

List("one","two","three","four")

リスト 2:

List("one","two")

これら 2 つのリストから一意の値を取得するにはどうすればよいですか?

4

5 に答える 5

7

2 つのリストがr1r2であり、各リストに他のリストには存在しない値が必要であると仮定すると、次のようになります。

r1.filterNot(r2.contains) ::: r2.filterNot(r1.contains)

また

r1.diff(r2) ::: r2.diff(r1)
于 2012-07-19T10:55:53.140 に答える
3

それらをセットにして、交点を取得します。Seqその後、必要に応じて に戻すことができますがSeq、最初にSet.

scala> List("one","two","three","four").toSet & List("one","two").toSet
res0: scala.collection.immutable.Set[String] = Set(one, two)
于 2012-07-19T16:22:46.457 に答える
2

Set に差分演算子を使用する&~

http://www.scala-lang.org/api/current/scala/collection/immutable/Set.html

于 2012-07-19T10:53:30.120 に答える
1

List(1, 2, 3, 4) ::: List(1, 2, 5) distinctはこの問題に使用します。返しますList(1, 2, 3, 4, 5)

于 2012-07-19T12:52:34.230 に答える