Scala中如果使用变长数组ArrayBuffer,即便你定义了初始化大小,Scala也不会执行,例如下面的代码就会出现 java.lang.IndexOutOfBoundsException
val arrayBuffer = new ArrayBuffer[Long](10)
println(arrayBuffer(0))
如果你一定要初始化一个大小为10的变长数组,比如一开始初始是10个值,之后要根据情况追加或者减少数组的大小,可以直接给变长数组添加10个元素
val sumOfOneClusterArray = new ArrayBuffer[Long]();
// 变长数组需要手动初始化,正确的初始化方式
for(i <- 0 until 10){
sumOfOneClusterArray += 0L
}
println(arrayBuffer(0))