When I created a Scala Array and added one element, but the array length is still 0, and I can not got the added element although I can see it in the construction function.
scala> val arr = Array[String]()
arr: Array[String] = Array()
res9: Array[String] = Array(adf)
... 33 elided
You declared Array of 0 size. It cannot have any elements. Your array is of size 0.
Array[String]() is a array contructor syntax.
:+ creates a new Array with with the given element so the old array is empty even after doing the
You have to use
ofDim function to declare the array first of certain size and then you can put elements inside using
arr(index) = value syntax.
Once declared array size do not increase dynamically like list. Trying to append values would create new array instance.
or you can initialize the array during creation itself using the
Array("apple", "ball") syntax.
val size = 1 val arr = Array.ofDim[String](size) arr(0) = "apple"
scala> val size = 1 size: Int = 1 scala> val arr = Array.ofDim[String](size) arr: Array[String] = Array(null) scala> arr(0) = "apple" scala> arr(0) res12: String = apple