J'ai un tableau de chaînes. Quelle est la meilleure façon de le transformer en un ensemble immuable de chaînes?
Je suppose qu'il s'agit d'un appel de méthode unique, mais je ne le trouve pas dans les documents scala.
J'utilise scala 2.8.1.
Cette méthode appelée toSet
, par exemple:
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)
Dans ce cas, la méthode toSet
n'existe pas pour le Array
. Mais il y a une conversion implicite en ArrayOps .
Dans de tels cas, je peux vous conseiller de regarder dans Predef . Normalement, vous devriez y trouver une conversion implicite appropriée. genericArrayOps
serait utilisé dans ce cas. genericWrapArray
peut également être utilisé, mais il a une priorité inférieure.
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)