【问题标题】:Convert an array to a mutable set in Scala?在Scala中将数组转换为可变集?
【发布时间】:2011-07-08 17:56:40
【问题描述】:

如何将 Scala Array 转换为 mutable.Set?

转换为immutable.Set 很容易:

Array(1, 2, 3).toSet

但我找不到转换为mutable.Set 的明显方法。

【问题讨论】:

    标签: scala collections set


    【解决方案1】:
    scala> val s=scala.collection.mutable.Set()++Array(1,2,3)
    s: scala.collection.mutable.Set[Int] = Set(2, 1, 3)
    

    【讨论】:

      【解决方案2】:
      scala> scala.collection.mutable.Set( Array(1,2) :_* )
      res2: scala.collection.mutable.Set[Int] = Set(2, 1)
      

      奇怪的:_* 类型归属,强制工厂方法将数组视为参数列表。

      【讨论】:

        【解决方案3】:

        从Scala 2.10开始,通过工厂建设者申请.to(factory):

        Array(1, 2, 3).to[collection.mutable.Set]
        // collection.mutable.Set[Int] = Set(1, 2, 3)
        

        开始Scala 2.13:

        Array(1, 2, 3).to(collection.mutable.Set)
        // collection.mutable.Set[Int] = HashSet(1, 2, 3)
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-01-21
          • 1970-01-01
          • 2012-01-19
          • 2011-03-11
          • 2012-01-09
          相关资源
          最近更新 更多