0

我试图将它复制到数组,但我不能接受两个(集合)参数

def subset(a:Set[Int],b:Set[Int]):Boolean={
    var x = new Array[Int](a.size)
    var y = new Array[Int](b.size) 
  }

或者你能解释一下如何接收两个数组作为参数吗?

def main(args: Array[String]): Unit = {
    val a =  Set(2,3,4,5,6)
    val b = Set(2,3,4,5)
    var x = new Array[Int](a.size)
    var y = new Array[Int](b.size)

我希望将 x 和 y 放入函数子集并做同样的事情,但不是通过 Set

4

1 回答 1

0

您可以转换SetArray或转换ArraySet

scala> val array = Array(1, 3, 5)
array: Array[Int] = Array(1, 3, 5)

scala> array.toSet
res0: scala.collection.immutable.Set[Int] = Set(1, 3, 5)

scala> val set = Set(7, 3, 8)
set: scala.collection.immutable.Set[Int] = Set(7, 3, 8)

scala> set.toArray
res1: Array[Int] = Array(7, 3, 8)

如果您希望程序将Ints 的集合作为命令行参数,则必须解析一个字符串:

object Test extends App {
  val x: Array[Int] = args(0).split(",").map{ _.toInt }
  val y: Array[Int] = args(1).split(",").map{ _.toInt }
  println("x: " + x.mkString("Array(", ", ", ")"))
  println("y: " + y.mkString("Array(", ", ", ")"))
}

用法:

>scala Test "1,2,3" "10,0,-5"
x: Array(1, 2, 3)
y: Array(10, 0, -5)
于 2013-02-13T07:54:55.633 回答