var arr = Array[Int](arr_size)
println(arr_size + " " + arr.size)
arr_size
是30但是arr.size
是1?为什么是这样?试图在Scala中声明一定大小的数组
我想声明一个空数组,我稍后可以在指定索引处填写。
var arr = Array[Int](arr_size)
println(arr_size + " " + arr.size)
arr_size
是30但是arr.size
是1?为什么是这样?试图在Scala中声明一定大小的数组
我想声明一个空数组,我稍后可以在指定索引处填写。
Array[Int](arr_size)
创建具有一个元件,arr_size
阵列,并且通常写为Array(arr_size)
,假设arr_size
类型是Int
。
使用这个代替:
Array.ofDim[Int](arr_size)
。
您还可以使用更多功能的方法,并在初始化期间直接填充阵列,例如,通过Array.tabulate
。
或者你可以做new Array[Int](arr_size)
为了创建一个给定尺寸的Array[Int]
和初始化其例如值0
,还要考虑这些API为基础的办法,
var arr = Array.fill(arr_size)(0)
和
var arr = Array.tabulate(arr_size)(_ => 0)
注意类型Int
0
确定类型o f Array
。然而,一个类型的完整声明包括
Array.fill[Int](arr_size)(0)
Array.tabulate[Int](arr_size)(_ => 0)