Scala Seq
Scala Seq
Seq 是一个特征,表示保证不可变的索引序列。您可以使用元素的索引来访问元素。它维护元素的插入顺序。
序列支持多种方法来查找元素或子序列的出现。它返回一个列表。
Scala Seq 示例
在下面的示例中,我们将创建 Seq 并访问 Seq 中的元素。
import scala.collection.immutable._
object MainObject{
def main(args:Array[String]){
var seq:Seq[Int] = Seq(52,85,1,8,3,2,7)
seq.foreach((element:Int) => print(element+" "))
println("\nAccessing element by using index")
println(seq(2))
}
}
输出:
52 85 1 8 3 2 7
Accessing element by using index
1
您还可以使用反向方法以相反的顺序访问元素。下面我们列出了一些常用的方法及其说明。
常用的Seq方法
方法 |
说明 |
def contains[A1 >: A](elem: A1): Boolean |
检查给定的元素是否出现在这个序列中。 |
def copyToArray(xs: Array[A], start: Int, len: Int): 单位 |
它将 seq 元素复制到一个数组中。 |
defendsWith[B](that: GenSeq[B]): Boolean |
它测试这个序列是否以给定的序列结束。 |
定义头: A |
它选择这个 seq 集合的第一个元素。 |
def indexOf(elem: A): Int |
它在这个不可变序列中找到一个值第一次出现的索引。 |
def isEmpty: 布尔值 |
测试这个序列是否为空。 |
def lastIndexOf(elem: A): Int |
它在这个不可变序列中找到最后一次出现的值的索引。 |
定义反向: Seq[A] |
它返回具有相反顺序元素的新序列。 |
Scala Seq 示例
在这个示例中,我们应用了一些 Seq trait 的预定义方法。
import scala.collection.immutable._
object MainObject{
def main(args:Array[String]){
var seq:Seq[Int] = Seq(52,85,1,8,3,2,7)
seq.foreach((element:Int) => print(element+" "))
println("\nis Empty: "+seq.isEmpty)
println("Ends with (2,7): "+ seq.endsWith(Seq(2,7)))
println("contains 8: "+ seq.contains(8))
println("last index of 3 : "+seq.lastIndexOf(3))
println("Reverse order of sequence: "+seq.reverse)
}
}
输出:
52 85 1 8 3 2 7
is Empty: false
Ends with (2,7): true
contains 8: true
last index of 3 : 4
Reverse order of sequence: List(7, 2, 3, 8, 1, 85, 52)