Scala Tuple

Scala Tuple

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,则会产生错误。然而,我们可以使用嵌套元组来克服这个限制(注意,一个元组可以包含其他元组)。

对元组的操作

  1. 从元组中访问元素:元组元素可以使用下划线语法进行访问,方法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
  1. 图元上的模式匹配:模式匹配是一种根据模式来检查一个值的机制。一个成功的匹配也可以将一个值解构为它的组成部分。

示例 :

// 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。

  1. 元组的迭代:为了迭代元组,使用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
  1. 将元组转换为字符串:将元组转换为字符串,将其所有的元素连接成一个字符串。我们使用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)
  1. 交换元组的元素:交换元组的元素,我们可以使用tuple.swap方法。

示例 :

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

输出:

(Geeksquize,geeksforgeeks)

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程