2011-04-25 16 views

Respuesta

41

Este método llamado toSet, por ejemplo .:

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) 

En este caso toSet método no existe para el Array. Pero hay una conversión implícita a ArrayOps.

En tales casos puedo aconsejarle que busque en Predef. Normalmente debería encontrar una conversión implícita adecuada allí. genericArrayOps se usaría en este caso. genericWrapArray también se puede utilizar, pero tiene una prioridad más baja.

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

Un pequeño comentario ... La única razón por la que preferiría Set (a: _ *) sobre .toSet es si quería un conjunto mutable, p. 'collection.mutable.Set (a: _ *)' –

Cuestiones relacionadas