Scala学习笔记--第6章 tuple及zip操作

本文介绍了元组的概念及其在函数返回多值场景的应用,并详细解释了如何通过模式匹配获取元组中的元素。此外,还介绍了Zip操作的使用方法,包括如何通过Zip方法将两个数组打包成一个元组数组。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

6.1 tuple-元组

元组就是不同类型的值的聚集,英文名称为tuple。映射是键值对的集合,它只是元组的最简单形态。元组的值是通过将单个的值包含在圆括号中构成的,其中值可以是任意类型。

元组取值的方法,用_下滑线+下标进行取值,有一点需要注意,元组取值是从1开始,而不是像数组,从0开始。通常,使用模式匹配来获取元组里面的元素。

一般元组主要用于函数中需要返回的值较多,且类型不一的情况,例如StringOps的partition方法,返回的是一对字符串,分别包含了满足某个条件和不满足条件的字符:

“New York”.partition(_.isUpper) // 输出 (”NY”, “ew ork”),即获取字符串中的大写字母以及非大写字母分别输出

object TupleTest {
  def main(args : Array[String]) : Unit = {
    val tuple = (1, 2, 3.14, "hello", "world")
    val third = tuple._3
    println(third)
    
    val (first, second, thirda, fourth, fifth) = tuple
    println(first)
    
    val (f, s, _, _, _) = tuple
    println(tuple._2)
  }
}

6.2 Zip操作

使用元组是为了把多个值绑在一起,以便能够一起处理,通常也可以用zip方法来完成,例如:

val symbols = Array(“<“, “-“, “>”)

val counts = Array(2, 10, 2)

val pairs = symbols.zip(counts)

输出对偶的数组:

Array((“<“, 2), (“-“, 10), (“>”, 2)),详见示例:

object ZipTest {
  def main(args : Array[String]) : Unit = {
    val symbole = Array("[", "*", "]")
    val counts = Array(2, 5, 3)
    val pairs = symbole.zip(counts)
    for((x, y) <- pairs) println(x*y)
  }
}

输出结果:[[*****]]]


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值