web-dev-qa-db-fra.com

Comment convertir un tableau [chaîne] en un ensemble [chaîne]?

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.

28
dave4420

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.

51
tenshi
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)
12
missingfaktor