2014-05-20 40 views
2

有沒有檢查是否有一個Seq重複一個更地道,也許更快的方法,莫過於此:Scala:如何檢查所有項目在Seq中是否是唯一的?

mySeq.size == mySeq.toSet.size 
+0

不,除了寫你自己的暗示。在這裏看到類似的問題:http://stackoverflow.com/questions/7691971/easiest-way-to-decide-if-list-contains-duplicates –

回答

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 
    } 
    } 
} 
相關問題