Reputation: 10204
I see that a Scala Array can be easily converted to List, Seq etc, using the s.toList or s.toSeq. Now, I would like to convert an array to a bufferarray. How would I do it?
Upvotes: 12
Views: 11591
Reputation: 39
For anyone that is now looking for the answer, the answer which has been accepted is deprecated. If you will try to execute it then it will execute it successfully but will give you a warning message. So either you can refer Claire Hou answer or you can use
Array('a','b','c').toIndexedSequence
Upvotes: 0
Reputation: 15086
There's a generic method to
that can convert between arbitrary collection types.
Array(1, 2, 3).to[ArrayBuffer]
Or from Scala 2.13 onwards:
Array(1, 2, 3).to(ArrayBuffer)
Upvotes: 21
Reputation: 63022
Use Iterable: _*
:
val arr = Array(1,2,3)
arr: Array[Int] = Array(1, 2, 3)
val buf = collection.mutable.ArrayBuffer(arr: _*)
buf: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(1, 2, 3)
The _*
means to unpack
the Iterable
elements. So arr: _*
unpacks the elements of arr
into a variable length list - which is an acceptable parameter list for `ArrayBuffer.
Upvotes: 19