Scala 如何从另一个Iterable对象填充现有数组

Scala 如何从另一个Iterable对象填充现有数组,scala,Scala,scala是否提供任何容器函数来从现有数据容器填充现有容器 myarray.fillFrom( myiterable ) 或 只需使用myIterable.toArray就可以使用相反的数组: myiterable.copyToArray(myarray) 如果myarray确实是一个数组,那么就有IterableLike.copyToArray函数族 如果您使用的是可变集合,那么可以使用append。从文件中: scala> val a = LinkedList(1, 2) a:

scala是否提供任何容器函数来从现有数据容器填充现有容器

 myarray.fillFrom( myiterable )


只需使用myIterable.toArray

就可以使用相反的数组:

myiterable.copyToArray(myarray)
如果myarray确实是一个数组,那么就有IterableLike.copyToArray函数族

如果您使用的是可变集合,那么可以使用append。从文件中:

scala> val a = LinkedList(1, 2)
a: scala.collection.mutable.LinkedList[Int] = LinkedList(1, 2)

scala> val b = LinkedList(1, 2)
b: scala.collection.mutable.LinkedList[Int] = LinkedList(1, 2)

scala> a.append(b)
res0: scala.collection.mutable.LinkedList[Int] = LinkedList(1, 2, 1, 2)

scala> println(a)
LinkedList(1, 2, 1, 2)

如果您使用的是不可变的集合,那么就不能向其追加任何内容。

我认为问题的关键在于,他不希望创建新的数组,而是使用现有的数组。
scala> val a = LinkedList(1, 2)
a: scala.collection.mutable.LinkedList[Int] = LinkedList(1, 2)

scala> val b = LinkedList(1, 2)
b: scala.collection.mutable.LinkedList[Int] = LinkedList(1, 2)

scala> a.append(b)
res0: scala.collection.mutable.LinkedList[Int] = LinkedList(1, 2, 1, 2)

scala> println(a)
LinkedList(1, 2, 1, 2)