📜  Scala 中的多维数组

📅  最后修改于: 2022-05-13 01:54:54.711000             🧑  作者: Mango

Scala 中的多维数组

多维数组基本上是以矩阵格式存储数据的数组。对于矩阵和表格,我们需要多维数组。我们可以使用Array.ofDimArray of Array方法创建多维数组。句法


使用 Array.ofDim 的多维数组


Scala 有一个方法Array.ofDim来创建一个多维数组。这种方法可用于创建最多五个维度的数组。要求我们需要在创建时知道行数和列数。声明数组后,我们向它添加元素。
例子:
// Scala Program of Multidimensional array 
// using Array.ofDim
object MultiArr
{
    def main(args: Array[String])
    {
        //creating the array of 2 rows and 2 columns
        val mymultiarr= Array.ofDim[Int](2, 2) 
      
        //Assigning the values
        mymultiarr(0)(0) = 2                 
        mymultiarr(0)(1) = 7
        mymultiarr(1)(0) = 3
        mymultiarr(1)(1) = 4
      
        for(i<-0 to 1; j<-0 until 2)
        {
            print(i, j)
          
           //Accessing the elements
           println("=" + mymultiarr(i)(j))     
        }
    }
}

输出

(0,0)=2
(0,1)=7
(1,0)=3
(1,1)=4


使用 Array of Array 的多维数组


这提供了对过程的更多控制,并让我们创建“参差不齐”的数组(其中每个包含的数组可能具有不同的大小)。我们还可以使用Array of Array创建多维数组。在下面的示例中,我们使用 Array of Array 创建了一个多维数组。

例子:

// Scala Program of Multidimensional array 
// using Array of Array
object MultiArr
{
    def main(args: Array[String])
    {
        // Creating and assigning the values 
        // to the array
        var arr= Array(Array(0, 2, 4, 6, 8),
                    Array(1, 3, 5, 7, 9)) 
  
        for(i<-0 to 1)
        {
            for(j<- 0 to 4)
            {
                // Accessing the values
                print(" "+arr(i)(j)) 
            }
            println()
        }
    }
}

输出:

0 2 4 6 8
 1 3 5 7 9

现在,让我们考虑一个显示带有 (row, column) 的元素的示例
例子:

// Scala Program of Multidimensional array 
// using Array of Array
object Mad
{
    def main(args: Array[String])
    {
      
        // Creating and assigning the values to the array
        var arr= Array(Array(0, 2, 4, 6, 8), 
                    Array(1, 3, 5, 7, 9)) 
      
        for(i<-0 to 1; j<-0 until 5)
        {
            print(i, j)
              
            //Accessing the elements
            println("=" + arr(i)(j)) 
        }
    }
}

输出:

(0,0)=0
(0,1)=2
(0,2)=4
(0,3)=6
(0,4)=8
(1,0)=1
(1,1)=3
(1,2)=5
(1,3)=7
(1,4)=9