Scala如何使用元组?用法代码实例

Tuple是元素的集合元组是异构的数据结构,也就是说,它们可以存储不同数据类型的元素。元组是不可变的,不像scala中的数组是可变的。

存储整数, 字符串和布尔值的元组的示例。

val name = (15, "Chandan", true)

元组的类型由其所包含元素的编号以及这些元素的数据类型定义。

例如:

// this is tuple of type Tuple3[ Int, String, Boolean ] 
val name = (15, "Chandan", true)

令N为元组中的元素数。 Scala目前仅限于一个元组中的22个元素, 即N应该是, 1 <= N <= 22, 该元组最多可包含22个元素, 如果元素数超过22, 则将产生错误。但是, 我们可以使用嵌套元组来克服此限制(请注意, 一个元组可以包含其他元组)

 

元组操作

从tuple访问元素:tuple元素可以使用下划线语法,方法tup_i用于访问元组的第i个元素。

范例:

// Scala program to access 
// element using underscore method
  
// Creating object
object gfg 
{
     // Main method
     def main(args : Array[String]) 
     {
  
         var name = ( 15 , "chandan" , true )
  
         println(name. _ 1 ) // print 1st element
         println(name. _ 2 ) // print 2st element
         println(name. _ 3 ) // print 3st element
     }
}

输出如下:

15
chandan
true

元组上的模式匹配:模式匹配是一种根据模式检查值的机制。成功的匹配还可以将值分解为其组成部分。

范例:

// Scala program of pattern matching on tuples
  
// Creating object
object gfg 
{
     // Main method
     def main(args : Array[String]) 
     {
         var (a, b, c) = ( 15 , "chandan" , true )
         println(a)
         println(b)
         println(c)
     }
}

输出如下:

15
chandan
true

在此, 在上面的示例中, var(a, b, c)=(15, " chandan", true)表达式分配a = 15, b =" chandan", c = true。

遍历一个元组:要在元组上迭代,使用tuple. productiterator()方法。

范例:

// Scala program to iterate over tuples
// using productIterator method
  
// Creating object
object gfg 
{
     // Main method
     def main(args : Array[String]) 
     {
         var name = ( 15 , "chandan" , true )
          
         // The foreach method takes a function
         // as parameter and applies it to 
         // every element in the collection
         name.productIterator.foreach{i => println(i)}
     }
}

输出如下:

15
chandan
true

将元组转换为字符串:将元组转换为字符串将其所有元素连接为字符串。为此我们使用tuple.toString()方法。

范例:

// Scala program to convert tuple element to String
  
// Creating object
object gfg
{
     // Main method
     def main(args : Array[String])
     {
         val name = ( 15 , "chandan" , true )
          
         // print converted string
         println(name.toString() )
     }   
}

输出如下:

(15, chandan, true)

交换元组的元素:交换元组元素我们可以使用tuple.swap方法。

范例:

// Scala program to swap tuple element
  
// Creating object
object gfg 
{
     // Main method
     def main(args : Array[String]) 
     {
         val name = ( "lsbin" , "gfg" )
          
         // print swapped element
         println(name.swap)
     }
}

输出如下:

(Geeksquize, lsbin)

更多后端开发相关内容请参考:lsbin - IT开发技术https://www.lsbin.com/

查看以下更多Scala相关的内容:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值