Escala | tupla

Tuple es una colección de elementos. Las tuplas son estructuras de datos heterogéneas, es decir, pueden almacenar elementos de diferentes tipos de datos. Una tupla es inmutable , a diferencia de una array en Scala que es mutable.
Un ejemplo de una tupla que almacena un número entero, una string y un valor booleano.

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

El tipo de tupla se define por el número del elemento que contiene y el tipo de datos de esos elementos.

Por ejemplo:

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

Sea N el número de elementos de una tupla. Scala actualmente está limitado a 22 elementos en una tupla, es decir, N debe ser, 1<=N<=22 , la tupla puede tener como máximo 22 elementos, si el número de elementos supera los 22, esto generará un error. Sin embargo, podemos usar tuplas anidadas para superar este límite (tenga en cuenta que una tupla puede contener otras tuplas)

Operaciones en tupla
  1. Acceder al elemento desde la tupla: se puede acceder a los elementos de la tupla usando una sintaxis de guión bajo , el método tup._i se usa para acceder al i-ésimo elemento de la tupla.
    Ejemplo :

    // 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
        }
    }
    Producción:

    15
    chandan
    true
    
  2. Coincidencia de patrones en tuplas: la coincidencia de patrones es un mecanismo para comparar un valor con un patrón. Una coincidencia exitosa también puede deconstruir un valor en sus partes constituyentes.
    Ejemplo :

    // 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)
        }
    }
    Producción:

    15
    chandan
    true
    

    Aquí, en el ejemplo anterior, var (a, b, c) = (15, «chandan», verdadero) la expresión asigna a = 15, b = «chandan», c = verdadero.

  3. Iterando sobre una tupla: para iterar sobre una tupla, se utiliza el método tuple.productIterator() .
    Ejemplo :

    // 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)}
        }
    }
    Producción:

    15
    chandan
    true
    
  4. Convertir tupla en string: Convertir una tupla en una string concatena todos sus elementos en una string. Usamos el método tuple.toString() para esto.
    Ejemplo :

    // 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() )
        }   
    }
    Producción:

    (15, chandan, true)
    
  5. Intercambiar los elementos de una tupla: al intercambiar el elemento de una tupla, podemos usar el método tuple.swap .
    Ejemplo :

    // 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)
        }
    }
    Producción:

    (Geeksquize,geeksforgeeks)
    

Publicación traducida automáticamente

Artículo escrito por skc161931 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *