我试图将它复制到数组,但我不能接受两个(集)参数
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
答案 0 :(得分:0)
您可以将Set
转换为Array
或Array
转换为Set
:
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)
如果您希望程序将Int
的集合作为命令行参数,则必须解析字符串:
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)