編寫一個方法,該方法返回數組中所有元素的值(重複除外)。請勿使用for
。 - 這是Scala書的任務。我試過myArray.mkString(", ")
但它有重複。搜索到Scaladoc,但它沒有幫助。返回數組中的元素,重複除外
也許將其轉換爲某種Java Set
?
編寫一個方法,該方法返回數組中所有元素的值(重複除外)。請勿使用for
。 - 這是Scala書的任務。我試過myArray.mkString(", ")
但它有重複。搜索到Scaladoc,但它沒有幫助。返回數組中的元素,重複除外
也許將其轉換爲某種Java Set
?
套裝包括獨特的價值,所以用轉換到它:
v.toSet.mkString(", ")
使用.distinct
:
scala> Array(1,2,3,4,2,3,4,5,4,5,6,7).distinct
res0: Array[Int] = Array(1, 2, 3, 4, 5, 6, 7)
調用.toSet
,如米甲的回答,工作太多,如果你不關心訂購:
scala> Array(1,2,3,4,2,3,4,5,4,5,6,7).toSet
res1: scala.collection.immutable.Set[Int] = Set(5, 1, 6, 2, 7, 3, 4)
另一種方法,使用groupBy
上的身份,其中提供Map
,其中密鑰是唯一的定義,像這樣
xs.groupBy(identity).keys