Scala中的向量

编程中的向量是类似于数组的一维数据结构。它用于在程序中存储元素。它与数组共享所有功能,但是其大小可以更改。 

在Scala中,向量是不可变索引的数据结构,它提供对向量元素的随机访问。Scala中的向量与列表共享属性。

向量被索引的数据结构提供了对数据结构元素的快速随机访问。

在Scala中进行向量化的示例:

// A valid vector in scala
Vector(891, 13, 56)

如何在Scala中创建向量?

您可以使用以下语法在Scala中创建向量:

val vector_name = Vector(element1, element2, ... )
val vector_name = Vector[data_type](element1, element2, ... )
val vector_name = Vector.apply(element1, element2, ... )

在Scala中创建向量的程序

object MyClass {
    def main(args: Array[String]) {
        val num1 = Vector("C++", "Python", "Scala")
        println("String Vector num1: " + num1)
        val num2 = Vector[Int](45, 14, 9)
        println("Integer Vector num2: " + num2)
        val num3 = Vector.apply(34.12, 4.5, 5.1)
        println("Number Vector num3: " + num3)
        val num4 = Vector.apply[Char]('m', 'i', 's')
        println("Charcter Vector num4: " + num4)
    }
}

输出:

String Vector num1: Vector(C++, Python, Scala)
Integer Vector num2: Vector(45, 14, 9)
Number Vector num3: Vector(34.12, 4.5, 5.1)
Charcter Vector num4: Vector(m, i, s)

在这段代码中,我们看到了在Scala中创建向量的不同方法。

如何在向量中添加(添加和添加)元素?

在Scala中,向量是不可变的,即不可能将新元素添加到同一向量中。因此,您需要将附加的元素分配给新的向量。

这些方法用于向向量添加元素:

将元素附加到向量:

  • 将单个元素追加到vector(:+
    语法:new_vector = old_vector:+ element

  • 将多个元素追加到vector(++
    语法中:new_vector = old_vector:+ elements

在向量前添加元素:

  • 到向量前置单元素(+:
    语法:new_vector =元素+:old_vector

  • 前置多个元素向量(++:
    语法:new_vector =元件++:old_vector

程序:

object MyClass {
    def main(args: Array[String]) {
        // Creating a vector
        val vect = Vector[Int](45, 14, 9)
        println("Initial vector : " + vect)
        
        //在矢量中追加单个元素
        //using (:+) operator 
        println("\nAppending one element to the vector!")
        val newvect1 = vect :+ 32
        println("Updated vector : " + newvect1)
        //向向量追加多个元素
        //using (:+) operator 
        println("\nAppending multiple elements to the vector!")
        val newvect2 = newvect1 ++ List(2, 54, 90)
        println("Updated vector : " + newvect2)
        //在向量前面加一个元素
        //using (+:) operator 
        println("\nPrepending one element to the vector!")
        val newvect3 = 6 +: newvect2
        println("Updated vector : " + newvect3)
        //在向量前面加上多个元素
        //using (++:) operator 
        println("\nPrepending multiple elements to the vector!")
        val newvect4 = List(1, 5) ++: newvect3
        println("Updated vector : " + newvect4)
    }
}

输出:

Initial vector : Vector(45, 14, 9)

Appending one element to the vector!
Updated vector : Vector(45, 14, 9, 32)

Appending multiple elements to the vector!
Updated vector : Vector(45, 14, 9, 32, 2, 54, 90)

Prepending one element to the vector!
Updated vector : Vector(6, 45, 14, 9, 32, 2, 54, 90)

Prepending multiple elements to the vector!
Updated vector : Vector(1, 5, 6, 45, 14, 9, 32, 2, 54, 90)

在上面的代码中,我们创建了一个向量,然后使用Scala库中可用的append和prepend运算符将元素添加到数组中。在这里,每次需要添加新元素时,我们都必须创建一个新向量,因为Scala中的向量是不可变的数据结构。