Scala 多维数组
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
使用Array of Array 的Scala 多维数组
除了ofDim 之外,您还可以使用数组的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()
}
}
输出:
两个矩阵的 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