Scala 中的 Tuple 元组详解
元组的定义:与列表一样,与列表不同的是元组可以包含不同类型的元素。元组的值是通过将单个的值包含在圆括号中构成的。当定义的元组当中包含不同的数据类型,可看到返回值开始会包含其所对应的数据类型。
/**
*注意:1.元组最多支持22个元素,也就是元组只能放22个元素,
* 2.元组可以通过new的方式创建,也可以不new,甚至可以直接在()中写元素
*/
val tuple1: Tuple1[String] = new Tuple1("hello")
val tuple2: (String, Int) = new Tuple2("a", 100)
val tuple3: (Int, Boolean, Char) = new Tuple3(1, true, 'c')
// val tuple4: (Int,Double,String,Boolean) = Tuple4(1,3,4,"abc",false)
val tuple6: (Int, Int, Int, Int, Int, String) = (1, 2, 3, 4, 5, "abc")
val tuple22 = (1,2,3,4,5,6,7,8,9,10,11,12,"abc",14,15,16,17,18,19,20,21,22)
注意:在元组当中最多可以写上22个元组的数据类型。虽然不会报错,但是不是元组类型了。
使用._数字
进行获取元组当中所对应的值
//打印tuple3元组中的第二个元素
println(tuple3._2)
//打印tuple22元组中的第22个元素
println(tuple22._22)
对元组进行遍历,不存在for和foeach函数。需要使用到迭代器:
使用到了迭代器就可以使用到while进行遍历,或者使用for或者foreach循环
//元组的遍历:不能直接for或者foreach遍历
val iter: Iterator[Any] = tuple6.productIterator
iter.foreach(println)
//或者用循环的方式
while (iter.hasNext){
println(iter.next())
}
toString和swap方法
//元组里默认有toString方法,所以可以直接打印,会把元素都放在一个()里打印出来
println(tuple3)
//swap方法:将元组的元素进行反转,但注意只能用在元组只有2个元素的时候
println(tuple2.swap)
还没有评论,来说两句吧...