Vector 是一个容器,可以保存其他数据对象,也称为集合Vector 是Scala标准包的一部分,我们可以直接使用,不需要导包。我们以实例来了解 Vector 容器。

创建 Vector

无需使用new关键字就可以创建 Vector 容器实例。创建实例的同时我们可以放入元素:

//1. 创建 Vector 对象
var v1 = Vector(1, 2, 3);

Vector 索引下标

Vector 的元素索引是从0开始的, 使用 圆括号将索引号括起来可以获得指定元素:

//2. 索引 Vector
println(v1(0))

Vector 的遍历

Vector 是可以遍历的,我们可以使用 for循环遍历查看Vector实例的内容:

//3. 遍历 Vector
for( ele <- v1 ){
print(ele + ” “)
}

倒转 Vector

可以使用 reverse 方法将整个Vector 倒转过来:

//4. 倒转 Vector
var v2 = Vector(1.1, 2.2, 3.3, 4.4)
for( ele <- v2.reverse ){
print(ele + ” “)
}

Vector 排序

Vector 容器类提供了一个 将元素排序的方法 sorted():

var v3 = Vector(10, 33, 27, 14, 35, 19, 42, 44)
for( ele <- v3.sorted ){
print(ele + ” “)
}

Vector 几个重要的方法实例程序如下,更多方法可以参看 Scala doc。

package com.byron4j.scala.basic


/**
 * Vector 容器使用介绍
 */
object VectorDemo {

  def main(args: Array[String]): Unit = {

    //1. 创建 Vector 对象
    var v1 = Vector(1, 2, 3);
    println(v1)

    //2. 索引 Vector
    println(v1(0))

    //3. 遍历 Vector
    for( ele <- v1 ){
      print(ele + " ")
    }
    println

    //4. 倒转 Vector
    var v2 = Vector(1.1, 2.2, 3.3, 4.4)
    for( ele <- v2.reverse ){
      print(ele + " ")
    }
    println

    // 使用 reverse 之后只是产生了一个新的Vector, 原 Vector 并不会改变
    for( ele <- v2 ){
      print(ele + " ")
    }
    println


    //5. 第一个元素
    println("v2.head = " + v2.head)


    //6. 除首元素之外的所有元素
    println("v2.tail = " + v2.tail)

    //7. 排序
    var v3 = Vector(10, 33, 27, 14, 35, 19, 42, 44)
    for( ele <- v3.sorted ){
      print(ele + " ")
    }
    println


  }

}

输出结果如下:

Vector(1, 2, 3)
1
1 2 3
4.4 3.3 2.2 1.1
1.1 2.2 3.3 4.4
v2.head = 1.1
v2.tail = Vector(2.2, 3.3, 4.4)
10 14 19 27 33 35 42 44

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐