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
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
输出结果如下:
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