Scala:如何检查Seq中的所有项目是否都是唯一的?

时间:2014-05-20 06:43:43

标签: scala scala-collections

是否有更惯用且更快捷的方法来检查Seq中是否存在重复项,而不是:

mySeq.size == mySeq.toSet.size

1 个答案:

答案 0 :(得分:3)

这会更快,因为它可以提前终止:

def allUnique[A](to: TraversableOnce[A]) = {
  val set = scala.collection.mutable.Set[A]()
  to.forall { x =>
    if (set(x)) false else {
      set += x
      true
    }
  }
}