与列表一样,元组也是不可变的,但与列表不同的是元组可以包含不同类型的元素。
Scala 支持的元组最大长度为 22。对于更大长度你可以使用集合,或者扩展元组。
1.
val t=(1,3.14,"baidu")
t: (Int,Double,java.lang.String) = (1,"baidu")
val t=new Tuple3(1,"BAIDU")
t: (Int,"BAIDU")
2.?使用索引访问元素
object Test {
def main(args: Array[String]) {
val t = (4,3,2,1)
println("第一个元素:"+t._1)
val sum=t._1+t._2+t._3+t._4
println("和为:"+ sum)
}}
Test.main(Array())
第一个元素:4
和为:10
defined object Test
3.?迭代元组 t.productIterator.foreach
object Test {
def main(args: Array[String]) {
val t = (4,1)
t.productIterator.foreach{i=>println("value"+i)}
}}
Test.main(Array())
value4
value3
value2
value1
defined object Test
4.?元组转为字符串 Tuple.toString()
object Test {
def main(args: Array[String]) {
val t = new Tuple3(1,"hello",Console)
println("连接后得字符串为:"+t.toString())
}}
Test.main(Array())
连接后得字符串为:(1,hello,[email?protected])
defined object Test
5.?元素交换 Tuple.swap
object Test {
def main(args: Array[String]) {
val t = new Tuple2("www.google.com","www.runoob.com")
// val t = new Tuple2("www.google.com","www.runoob.com","www.baidu.com") 报错,只能有两个参数
println("交换后的元组: " + t.swap )
}
}
Test.main(Array())
交换后的元组: (www.runoob.com,www.google.com)
defined object Test