开发者学堂课程【Scala 核心编程 - 进阶:元组的访问和遍历】学习笔记,与课程紧密连接,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/610/detail/9031
元组的访问和遍历
内容介绍:
一、基本介绍
二、应用案例
一、基本介绍
1.元组的访问
访问元组中的数据,可以采用顺序号(_顺序号),顺序号是从1开始的,也可以通过素引(productElement)访问,索引从0开始。顺序号访问是最简单的访问方式,并且效率高。
2.元组的遍历
Tuple 是一个整体,遍历需要调用遍历器
二、应用案例
1.访问元组
object Tupleo1{
def main (args:Array[String]):Unit={
val t1=(1,”a”,”b”,true,2)
println(t1._1)
//访问元组的第一个元素,从1开始,这里返回的是1
println(t1.productElement(0))
//访问元组的第一个元素,从0开始,这里返回的是1
//其本质与 println(t1._1) 相同,只是形式有变化
/*
override def productElement(n: Int) = n match {
//这里用到了模式匹配,后面会介绍到
case 0 =>_1
case 1 =>_2
case 2 => _3
case 3 => _4
case 4 => _5
case_=>throw new IndexoutofBoundsException(n.tostring())
}
*/
}
}
2.遍历元组
部分代码如下:
for (item<-t1)
{
println(“item=”+item)
}
运行后发现报错
因为其底层实现是通过迭代器完成,所以不能直接用 for(item<-t1) 来访问
将其改成:
for (item<-t1.productIterator)
{
println(“item=”+item)
}
此时该迭代器就如同一个移动的指针,移动到某个地方,就会返回对应的值
这时再次运行不报错了
强调:
元组的遍历不能用传统方法,要使用迭代器