scala基础篇·Tuple

本文介绍 Scala 中 Tuple 的基本用法及实例操作,包括 Tuple 的创建、元素访问、元组拆包以及与其他集合类型如 Array 和 String 的组合使用,并通过一个统计函数展示了 Tuple 在实际编程中的应用。

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

scala基础篇·Tuple

代码:

package base

object TestTuple {
  def main(args: Array[String]): Unit = {
    val tup = (1, 'C', "String", 1.5)
    println(tup)

    //元组"下标"从1开始
    println(tup._1)
    //使用空格代替.
    println(tup _1)
    println(tup._3)

    //相当于
    // val first = t1._1
    // val second = t1._2
    // 其他的不要
    val (first, second, _, _) = tup

    println("first  =>  " + first)
    println("second  =>  " + second)

    val arr1 = Array(1, 2, 3, 4, 5)
    val arr2 = Array('A', 'B', 'C', 'D')
    val t2 = arr1.zip(arr2)
    for ((x, y) <- t2)
      printf("x=%d,y=%c \n", x, y)

    //转换为map
    println(t2.toMap)

    println("Hello".zip("world"))

    val (big, eq, small) = stat(Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10), 4)

    printf("big=%d,eq=%d,small=%d \n", big, eq, small)

  }


  /**
    * 统计
    *
    * @param arr
    * @param v
    * @return
    */
  def stat(arr: Array[Int], v: Int): (Int, Int, Int) = {
    var bigger = 0
    var eq = 0
    var smaller = 0

    for (i <- arr) {
      if (i > v) {
        bigger += 1
      } else if (i == v) {
        eq += 1
      } else {
        smaller += 1
      }
    }
    (bigger, eq, smaller)
  }
}

输出:

(1,C,String,1.5)
1
1
String
first  =>  1
second  =>  C
x=1,y=A 
x=2,y=B 
x=3,y=C 
x=4,y=D 
Map(1 -> A, 2 -> B, 3 -> C, 4 -> D)
Vector((H,w), (e,o), (l,r), (l,l), (o,d))
big=6,eq=1,small=3 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值