📜  Scala多维数组

📅  最后修改于: 2021-01-09 11:54:57             🧑  作者: Mango

Scala多维数组

多维数组是一种以矩阵形式存储数据的数组。您可以根据需要创建二维到三个,四个或更多维的数组。下面我们提到了数组语法。 Scala提供了ofDim方法来创建多维数组。

多维数组语法

var arrayName = Array.ofDim[ArrayType](NoOfRows,NoOfColumns) or
var arrayName = Array(Array(element...), Array(element...), ...)

使用ofDim的Scala多维数组示例

在此示例中,我们使用ofDim方法创建了数组。

class ArrayExample{
    var arr = Array.ofDim[Int](2,2)           // Creating multidimensional array
    arr(1)(0) = 15                             // Assigning value
    def show(){
        for(i<- 0 to 1){                       // Traversing elements by using loop
           for(j<- 0 to 1){
                print(" "+arr(i)(j))
            }
            println()
        }
        println("Third Element = "+ arr(1)(1))        // Accessing elements by using index
    }
}

object MainObject{
    def main(args:Array[String]){
        var a = new ArrayExample()
        a.show()                     
    }
}

输出:

0 0
15 0
Third Element = 0

通过使用数组数组来实现Scala多维数组

除了ofDim之外,您还可以使用array数组创建多维数组。在此示例中,我们通过使用array数组创建了多维数组。

class ArrayExample{
    var arr = Array(Array(1,2,3,4,5), Array(6,7,8,9,10))   // Creating multidimensional array
    def show(){
        for(i<- 0 to 1){               // Traversing elements using loop
           for(j<- 0 to 4){
                print(" "+arr(i)(j))
            }
            println()
        }    
    }
}

object MainObject{
    def main(args:Array[String]){
        var a = new ArrayExample()
        a.show()                     
    }
}

输出:

1 2 3 4 5
 6 7 8 9 10

两个矩阵示例的Scala加法

您可以在Scala中操作数组元素。在这里,我们要添加两个数组元素并将结果存储到第三个数组中。

class ArrayExample{
    var arr1 = Array(Array(1,2,3,4,5), Array(6,7,8,9,10))   // Creating multidimensional array
    var arr2 = Array(Array(1,2,3,4,5), Array(6,7,8,9,10))
    var arr3 = Array.ofDim[Int](2,5)
    def show(){
        for(i<- 0 to 1){               // Traversing elements using loop
           for(j<- 0 to 4){
                arr3(i)(j) = arr1(i)(j)+arr2(i)(j)
                print(" "+arr3(i)(j))
            }
            println()
        }    
    }
}

object MainObject{
    def main(args:Array[String]){
        var a = new ArrayExample()
        a.show()                     
    }
}

输出:

2 4 6 8 10
 12 14 16 18 20