Scala 元组

33 篇文章 1 订阅
26 篇文章 0 订阅

Scala 元组

1、概念

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

元组的值是通过将单个的值包含在圆括号中构成的。例如:

val a = (11, 3.141, "red")  

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

也可以使用以下方式来定义:

val a = new Tuple3(11, 3.141, "red")

元组的实际类型取决于它的元素的类型,比如 (88, "itwuyi") 是 Tuple2[Int, String]。 ('i', 'l', "the", 11, 14, "love") 为 Tuple6[Char, Char, String, Int, Int, String]。

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

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

val t = (41,31,21,11)

我们可以使用 t._1 访问第一个元素, t._2 访问第二个元素,以此类推:

object Demo {
  def main(args: Array[String]) {
    def main(args: Array[String]) {
      val t = (41,31,21,11)

      val sum = t._1 + t._2 + t._3 + t._4

      println( "元素之和为: "  + sum )
    }
  }
}
元素之和为: 104

2、迭代元组

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

object Demo {
  def main(args: Array[String]) {
    val a = (41,31,21,11)
    a.productIterator.foreach{ i =>println("值为 " + i )}
  }
}
值为 41
值为 31
值为 21
值为 11

3、元组转为字符串

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

object Demo {
  def main(args: Array[String]) {
    val a = new Tuple3(88, "world", Console)
    println("连接后的字符串为: " + a.toString() )
  }
}
连接后的字符串为: (88,world,scala.Console$@3ac42916)

4、元素交换

使用 Tuple.swap 方法来交换元组的元素:

object Demo {
  def main(args: Array[String]) {
    val a = new Tuple2("www.github.com", "www.gitee.com")
    println("交换后的元组: " + a.swap )
  }
}
交换后的元组: (www.gitee.com,www.github.com)

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值