基本介绍
元组也是可以理解为一个容器,可以存放各种相同或不同类型的数据。
说的简单点,就是将多个无关的数据封装为一个整体,称为元组, 最多的特点灵活,对数据没有过多的约束。与数组或列表不同,元组可以容纳不同类型的对象,但它们也是不可变的。
注意:元组中最大只能有22个元素
1、创建元组
元组表示通过将不同的值用小括号括起来,即表示元组。
元组的创建格式:
val tuple=(元素,元素…)
也可以写成:(但一般不这么写,都是写简写形式)
val t1=new Tuple3(元素1, 元素2, 元素3)
- t1 的类型是 Tuple5类 是scala特有的类型
- t1 的类型取决于 t1 后面有多少个元素, 有对应关系,比如 4个元素=》Tuple4
给大家看一个Tuple5 类的定义,大家就了然了
/*
final case class Tuple5[+T1, +T2, +T3, +T4, +T5](_1: T1, _2: T2, _3: T3, _4: T4, _5: T5)
extends Product5[T1, T2, T3, T4, T5]
{
override def toString() = "(" + _1 + "," + _2 + "," + _3 + "," + _4 + "," + _5 + ")"
}
*/
- 元组中最大只能有22个元素 即 Tuple1…Tuple22
2、获取元组中的值
获取元组中的值格式:
使用下划线加下标 ,例如 t._1 t._2 t._3
注意:元组中的元素下标是从1开始的。
3、元组遍历
可以使用Tuple.productIterator()方法遍历元组的所有元素。通过foreach增强for循环遍历。
object Test {
def main(args: Array[String]): Unit = {
val t=(1,5.2,"haha",false)
for(i<-t.productIterator){
println(i)
}
}
}
结果
1
5.2
haha
false