Tuples(元组):
在Python中的元组是不受限制的,在Scala中元组最多支持22项
因为在Scala中实际上是定义了22个类,分别是Tuple1,Tuple2,Tuple3一直到22个,
例子:
object Demo1 extends App{
val x = Tuple1(1,2)
println(x)
}
结果:
((1,2))
可以看见结果里面是一个,而不是两个,因为Tuple1里面只有一个,就算你存两个,也会把两个放在一个里面
例子:
object Demo1 extends App{
val x = Tuple2(1,2)
println(x)
}
结果:
(1,2)
由上图所见,创建了一个Tuple2的话,结果是存了两个,以此类推。
那么我们怎么访问里面的数据呢?
println(x._2) //Tuple2中有_1和_2,其他也是一样以此类推
结果:
2 //娶到了这个Tuple2中的第二个数据
我们刚才说了,Tuple中有22个类,1-22,可以点进去查看为什么是这样:Tuple2只有两个参数:_1 _2
那我们可以另一种方法创建:
object Demo1 extends App{
val a =(1,2,3)
println(a.getClass)
}
结果:
class scala.Tuple3
所以说在定义Tuple的时候没必要写Tuple几,这样比较灵活,但是要记住最多22个,Python中可以任意数量
那我们得到这个Tuple之后,我们如何循环遍历呢:Tuple不是序列,不可以直接循环,本身是一个类,
你会发现 你用变量点不出来Foreach的
例子: