2、Scala数据结构Tuple

本文介绍Scala中的Tuple数据结构。

1、基本知识

tuple元组是一些不同类型的元素的集合。

Scala中的tuple是 不可变数据结构(immutable),即一旦声明后就不能改变其值。

一个元组tuple的最大元素上限是22。即可使用的tuple类型 TupleN(N元组),1<=N<=22。

2、Tuple的定义方法

2.1 方法一:直接定义。好处是不用声明Tuple的长度,简便

val s1 = (12,"Harry")
val m1 = (20,12,16,4)

2.2 方法二:通过TupleN类来定义,其中N是你需要使用的长度

val s1 = new Tuple2(12,"Harry")
val m1 = new Tuple4(20,12,16,4)

3、Tuple中元素的获取方法

通过tuple._k 来获取元组tuple第k个位置的元素,k=1,2,..N

val m1 = (20,12,16,4)
m1._1 //4元组的第1个元素
m1._2 //4元组的第2个元素
m1._3 //4元组的第3个元素
m1._4 //4元组的第4个元素

val mul = m1._1 * m1._3 * m1._4

4、Tuple中元素的迭代方法

Tuple.productIterator() 方法可用于迭代元组Tuple中的所有元素。

//in scala 
object Test {
  def main(args: Array[String]) {
    val names = ("John","Smith","Anderson","Steve","Rob")

    names.productIterator.foreach{ i =>println("Value = " + i )}
  }
}

5、折叠Tuple中的元素

object Swap {
   def main(args: Array[String]) {
 	 
  	val id = new Tuple2(12,34)
  	println("Swapped Tuple Id is:"+id.swap)
 	 
   }
}

6、Tuple转为String

Tuple.toString()方法把tuple中的所有元素拼接起来组成一个String

object Test {
  def main(args: Array[String]) {
    val student = new Tuple3(12, "Rob", "IT")
    val aString:String = student.toString()
    println("Concatenated String: " + aString)
  }
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值