Scala教程
Scala面向对象
Scala高级

Scala 数组

Scala Array

Array 是可变值的集合。它是一个基于索引的数据结构,从 0 索引到 n-1,其中 n 是数组的长度。
Scala 数组可以是通用的。这意味着,您可以拥有一个 Array[T],其中 T 是类型参数或抽象类型。 Scala 数组与 Scala 序列兼容-您可以在需要 Seq[T] 的地方传递 Array[T]。它也支持所有的序列操作。
下图表示数组的结构,其中第一个索引为0,最后一个索引为9,数组长度为10
Scala Array 1

Scala 数组类型

一维数组 多维数组

Scala 一维数组

一维数组用于按线性顺序存储元素。数组元素存储在连续的内存空间中。所以,如果你有一个数组的任何索引,你可以很容易地遍历数组的所有元素。
var arrayName : Array[arrayType] = new Array[arrayType](arraySize);   or
var arrayName = new Array[arrayType](arraySize)  or
var arrayName : Array[arrayType] = new Array(arraySize);   or
var arrayName = Array(element1, element2 ... elementN)

Scala 数组示例: 一维

class ArrayExample{
    var arr = Array(1,2,3,4,5)         // Creating single dimensional array
    def show(){
        for(a<-arr)                       // Traversing array elements
            println(a)
        println("Third Element  = "+ arr(2))        // Accessing elements by using index
    }
}
object MainObject{
    def main(args:Array[String]){
        var a = new ArrayExample()
        a.show()
    }
}
输出:
1
2
3
4
5
Third Element  = 3

Scala 示例 2: 一维

在此示例中,我们使用 new 关键字创建了一个数组,该关键字用于初始化数组的内存。整个数组元素都设置为默认值,您可以稍后在代码中分配该值。
class ArrayExample{
    var arr = new Array[Int](5)       // Creating single dimensional array
    def show(){
        for(a<-arr){                      // Traversing array elements
            println(a)
        }
        println("Third Element before assignment = "+ arr(2))        // Accessing elements by using index
        arr(2) = 10                                                          // Assigning new element at 2 index
        println("Third Element after assignment = "+ arr(2))
    }
}
object MainObject{
    def main(args:Array[String]){
        var a = new ArrayExample()
        a.show()
    }
}
输出:
0
0
0
0
0
Third Element before assignment = 0
Third Element after assignment = 10

Scala 将数组传递给函数

您可以在函数调用期间将数组作为参数传递给函数。下面的例子说明了我们如何将数组传递给函数的过程。
class ArrayExample{
    def show(arr:Array[Int]){
        for(a<-arr)                // Traversing array elements
            println(a)
        println("Third Element = "+ arr(2))        // Accessing elements by using index
    }
}
object MainObject{
    def main(args:Array[String]){
        var arr = Array(1,2,3,4,5,6)    // creating single dimensional array
        var a = new ArrayExample()
        a.show(arr)                     // passing array as an argument in the function
    }
}
输出:
1
2
3
4
5
6
Third Element = 3

Scala 数组示例: 使用 Foreach 循环进行迭代

您还可以使用 foreach 循环来迭代数组元素。让我们看一个例子。
class ArrayExample{
    var arr = Array(1,2,3,4,5)         // Creating single dimensional array
    arr.foreach((element:Int)=>println(element))       // Iterating by using foreach loop
}
object MainObject{
    def main(args:Array[String]){
        new ArrayExample()
    }
}
输出:
1
2
3
4
5
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4