运维开发网

tuple

运维开发网 https://www.qedev.com 2020-07-31 15:35 出处:网络 作者:运维开发网整理
与列表一样,元组也是不可变的,但与列表不同的是元组可以包含不同类型的元素。 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")

与列表一样,元组也是不可变的,但与列表不同的是元组可以包含不同类型的元素。

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
0

精彩评论

暂无评论...
验证码 换一张
取 消