Scala创建空数组的数组

时间:2016-01-18 20:19:24

标签: scala

我正在尝试创建一个数组,其中每个元素都是一个空数组。 我试过这个:

import datetime
try:
    while True:
        if(datetime.datetime.now().time() == (6, 20, 0, 0)):
            print("It's 6:20!")
except :
    pass

看了How to create and use a multi-dimensional array in Scala?之后,我也尝试了这个:

var result = Array.fill[Array[Int]](Array.empty[Int])

但是,这些都不起作用。

如何创建空数组数组?

3 个答案:

答案 0 :(得分:7)

你在这里误解了Array.ofDim。在给定尺寸和要保持的值类型的情况下,它会创建一个多维数组。

要创建一个包含100个数组的数组,每个数组都为空(0个元素)并保留Int个,您只需将这些维度指定为ofDim函数的参数。

val result = Array.ofDim[Int](100, 0)

答案 1 :(得分:4)

Array.fill需要两个参数:第一个是长度,第二个是填充数组的值,更准确地说,第二个参数是一个元素计算,将被多次调用以获取数组元素(谢谢到@ alexey-romanov指出这一点)。但是,在您的情况下,它始终具有相同的值,即空数组。

Array.fill[Array[Int]](length)(Array.empty)

答案 2 :(得分:1)

还要考虑Array.tabulate如下,

val result = Array.tabulate(100)(_ => Array[Int]())

其中lambda函数应用100次,并为每个函数提供一个空数组。