zoukankan      html  css  js  c++  java
  • 元组

      元组可以也是不可变的,但里面可以包含不同类型的元素。之前所说的列表是不可变的,并且元素类型要相同。

    1、创建:

    val t = (1, 3.14, "Fred")  

      以上实例在元组中定义了三个元素,对应的类型分别为[Int, Double, java.lang.String]。

      此外我们也可以使用以下方式来定义:

    val t = new Tuple3(1, 3.14, "Fred")

      目前 Scala 支持的元组最大长度为 22。对于更大长度可以使用集合,或者扩展元组。

    2、访问:

      访问元组的元素可以通过数字索引,如下一个元组:

    val t = (4,3,2,1)

      我们可以使用 t._1 访问第一个元素, t._2 访问第二个元素,如下所示:

    object Test {
       def main(args: Array[String]) {
          val t = (4,3,2,1)
    
          val sum = t._1 + t._2 + t._3 + t._4
    
          println( "元素之和为: "  + sum )
       }
    }

    输出:元素之和为: 10

    3、迭代遍历:

      使用 Tuple.productIterator() 方法来迭代输出元组的所有元素:

    object Test {
       def main(args: Array[String]) {
          val t = (4,3,2,1)
          
          t.productIterator.foreach{ i =>println("Value = " + i )}
       }
    }

      输出结果为:

    Value = 4
    Value = 3
    Value = 2
    Value = 1

    4、元组转为字符串

    使用 Tuple.toString() 方法将元组的所有元素组合成一个字符串,实例如下:

    object Test {
       def main(args: Array[String]) {
          val t = new Tuple3(1, "hello", Console)
          
          println("连接后的字符串为: " + t.toString() )
       }
    }

    输出结果为:

      连接后的字符串为: (1,hello,scala.Console$@4dd8dc3)

    5、元素交换

      使用 Tuple.swap 方法来交换元组的元素。如下实例:

    object Test {
       def main(args: Array[String]) {
          val t = new Tuple2("www.google.com", "www.runoob.com")
          
          println("交换后的元组: " + t.swap )
       }
    }

    输出结果为:

      交换后的元组: (www.runoob.com,www.google.com)

    参考博客:https://www.runoob.com/scala/scala-tuples.html

  • 相关阅读:
    Vasya and Endless Credits CodeForces
    Dreamoon and Strings CodeForces
    Online Meeting CodeForces
    数塔取数 基础dp
    1001 数组中和等于K的数对 1090 3个数和为0
    1091 线段的重叠
    51nod 最小周长
    走格子 51nod
    1289 大鱼吃小鱼
    POJ 1979 Red and Black
  • 原文地址:https://www.cnblogs.com/guoyu1/p/12123062.html
Copyright © 2011-2022 走看看