Velvet Star Monitor

Standout celebrity highlights with iconic style.

news

How to convert a Scala Array to ArrayBuffer?

Writer Sophia Terry

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?

4 Answers

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)
0

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.

2

please try Array(1, 2, 3).toBuffer

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

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy