为什么sameElements对集合返回true?集合不以任何顺序放置元素。在下面的两个例子中,第一个返回true,但第二个返回false。为什么sameElements对集合返回true?
scala> val xs1 = Set(3, 2, 1, 4, 5, 6, 7)
xs1: scala.collection.immutable.Set[Int] = Set(5, 1, 6, 2, 7, 3, 4)
scala> val ys1 = Set(7, 2, 1, 4, 5, 6, 3)
ys1: scala.collection.immutable.Set[Int] = Set(5, 1, 6, 2, 7, 3, 4)
scala> xs1 sameElements ys1
res7: Boolean = true
scala> val xt1 = Set(1, 2, 3)
xt1: scala.collection.immutable.Set[Int] = Set(1, 2, 3)
scala> val yt1 = Set(3, 2, 1)
yt1: scala.collection.immutable.Set[Int] = Set(3, 2, 1)
scala> xt1 sameElements yt1
res8: Boolean = false
我会怀疑集合中元素的顺序不能保证与您在代码中定义的完全一致,因此可以应用内部逻辑和顺序变更。 – Pavel