2011-04-25 3 views

답변

41

이 방법은 toSet 방법은 Array 존재하지 않습니다이 경우 toSet, 예컨대 :

scala> val arr = Array("a", "b", "c") 
arr: Array[java.lang.String] = Array(a, b, c) 

scala> arr.toSet 
res1: scala.collection.immutable.Set[java.lang.String] = Set(a, b, c) 

을했다. 그러나 ArrayOps으로의 암시 적 변환이 있습니다.

그런 경우에 나는 Predef을 볼 것을 조언 할 수 있습니다. 일반적으로 적절한 암시 적 변환을 찾아야합니다. 이 경우에는 genericArrayOps이 사용됩니다. genericWrapArray도 사용할 수 있지만 우선 순위는 낮습니다.

12
scala> val a = Array("a", "b", "c") 
a: Array[java.lang.String] = Array(a, b, c) 

scala> Set(a: _*) 
res0: scala.collection.immutable.Set[java.lang.String] = Set(a, b, c) 

// OR  

scala> a.toSet 
res1: scala.collection.immutable.Set[java.lang.String] = Set(a, b, c) 
+0

작은 덧글 ... Set (a : _ *)를 .toSet 이상으로 선호하는 유일한 이유는 변경 가능한 집합을 원한다면입니다. 'collection.mutable.Set (a : _ *)' –

관련 문제