Подтвердить что ты не робот

Как преобразовать Array [String] в Set [String]?

У меня есть массив строк. Какой лучший способ превратить его в неизменяемый набор строк?

Я предполагаю, что это единственный вызов метода, но я не могу найти его в документах scala.

Я использую scala 2.8.1.

4b9b3361

Ответ 1

Этот метод называется 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)

В этом случае метод toSet не существует для Array. Но есть неявное преобразование в ArrayOps.

В таких случаях я могу посоветовать вам посмотреть Predef. Обычно вы должны найти подходящее имплицитное преобразование. genericArrayOps будет использоваться в этом случае. genericWrapArray также может использоваться, но он имеет более низкий приоритет.

Ответ 2

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)