与列表一样,元组也是不可变的,但与列表不同的是元组可以包含不同类型的元素。
Scala 支持的元组最大长度为 22。对于更大长度你可以使用集合,或者扩展元组。
1.
val t=(1,3.14,"baidu") t: (Int, Double, java.lang.String) = (1, 3.14, "baidu") val t=new Tuple3(1,3.14,"BAIDU") t: (Int, Double, java.lang.String) = (1, 3.14, "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,3,2,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
精彩评论