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)