如何将Array [String]转换为Set [String]?

dav*_*420 25 scala scala-collections

我有一个字符串数组.将它变成一组不可变的字符串的最佳方法是什么?

我认为这是一个单一的方法调用,但我在scala文档中找不到它.

我正在使用scala 2.8.1.

ten*_*shi 51

此方法称为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)
Run Code Online (Sandbox Code Playgroud)

在这种情况下,toSet方法不存在Array.但是有一个隐式转换为ArrayOps.

在这种情况下,我可以建议你看看Predef.通常你应该在那里找到一些合适的隐式转换.genericArrayOps将用于这种情况.genericWrapArray也可以使用,但优先级较低.


mis*_*tor 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)
Run Code Online (Sandbox Code Playgroud)