我正在寻找比这更清洁的解决方案:
import scala.collection.mutable.ListBuffer
val y = Array(1,2,3,4)
val z = new ListBuffer[Int]()
y.foreach(elem => z += elem)
答案 0 :(得分:7)
另一种方法是使用to
转换方法:
import scala.collection.mutable.ListBuffer
val arr: Array[Int] = Array(1, 2, 3, 4)
val buf: ListBuffer[Int] = arr.to[ListBuffer]
对变量进行类型注释当然是多余的,为了清楚起见,我添加了它们。
to
非常通用,它允许在任意集合之间进行转换(即,从任何Traversable
到任何在范围内具有适当CanBuildFrom
实例的任何集合。
答案 1 :(得分:2)
怎么样:
val z = ListBuffer(y: _ *)
ListBuffer.apply
接受varargs样式的元素序列。签名为apply[A](elems: A *): ListBuffer[A]
为了将序列应用于此类函数,我们使用语法: _ *