Rasgo Scala Traversable | Serie 1

Introducción:
Un rasgo raíz de toda la clase de las colecciones de Scala es Trait Traversable . Está disponible en la posición más alta de la jerarquía de la colección. Tiene únicamente una operación abstracta, que es foreach . Aquí se garantiza que cada una de las operaciones se ejecutará en un enfoque de subproceso único.
Sintaxis:

def foreach[U](f: Elem => U)

Aquí, la operación f se refiere a todos los elementos de la colección y Elem => U es el tipo de operación, donde “Elem” es el tipo de elementos de la colección de Scala y “U” es un tipo de resultado inconsistente.

Algunos puntos importantes:

  • Traversable se logra mediante las clases de la colección de Scala.
  • Es obligatorio que Traversable defina solo el método foreach , ya que Traversable puede heredar todos los demás métodos.
  • El método foreach podría atravesar todos los elementos de la clase de colección de Scala.
  • Hay numerosos métodos concretos que están definidos por Traversables.
  • List, Array, Map, Set y muchos más son la subclase de Traversables.
Las operaciones realizadas por la Clase Traversable son las siguientes:
  1. Método abstracto:
    el único método abstracto aquí es foreach , que puede atravesar todos los elementos de la colección.
    Ejemplo :

    //Scala program of abstract method
      
    //Creating object 
    object CS 
    {
        //Main method
        def main(args: Array[String]) 
        {
            //Creating an Array of elements
            val x = Array("GEEKS", "FOR", "GEEKS")
      
            //Calling foreach method
            x.foreach { E =>
            val y = E.toLowerCase
      
            //Display strings
            println(y)
            }
        }
    }
    Producción:

    geeks
    for
    geeks
    

    Aquí, todos los elementos de la array mencionados anteriormente se recorren mediante el método foreach y luego se convierten de mayúsculas a minúsculas.
    Ejemplo:

    // Scala program of abstract method
      
    // Creating object 
    object GFG
    {
        // Main method
        def main(args: Array[String]) 
        {
            //Creating list of numbers
            val l = List(2, 6, 8, 7, 10, 11, 13)
      
            //Calling foreach and displaying
            //numbers of list after 
            //multiplication each of them
            l.foreach(n => println(n * 6))
        }
    }
    Producción:

    12
    36
    48
    42
    60
    66
    78
    

    Aquí, el método foreach recorre todos los números de la lista y multiplica cada uno de ellos.

  2. Operación de adición:
    aquí, la operación de adición, es decir, ++ agrega dos Traversables juntos o agrega cada uno de los elementos de un iterador a un Traversable.
    Ejemplo:

    // Scala program of addition operation
      
    // Creating object 
    object GFG
    {
        // Main method
        def main(args: Array[String]) 
        {
            // Creating set of numbers
            val x = Set(7, 8, 9, 10)
      
            // Creating list of numbers
            val y = List(1, 5, 8, 18)
      
            //performing addition operation
            val s1 = x ++ y
            val s2 = y ++ x
      
            //Displaying set
            println(s1)
      
            //Displaying list 
            println(s2)
        }
    }
    Producción:

    Set(5, 10, 1, 9, 7, 18, 8)
    List(1, 5, 8, 18, 7, 8, 9, 10)
    

    Aquí, cuando se agrega un conjunto a una lista, se genera un conjunto y cuando se agrega una lista a un conjunto, se genera una lista.

  3. Operaciones de mapa:
    las tres operaciones de mapa son map , flatMap y collect .
    Estas operaciones de mapa crean una nueva colección asignando algunas funciones a los elementos de la colección Scala.
    Ejemplo :

    // Scala program of Map operations
      
    // Creating object 
    object GFG
    {
      
        // Main method
        def main(args: Array[String]) 
        {
      
            // Creating Set of numbers
            val x = Set(8, 9, 5, 10)
      
            // Applying map operation
            val y = x.map(_ * 9)
      
            // Displaying Set 
            println(y)
        }
    }
    Producción:

    Set(72, 81, 45, 90)
    

    Aquí, la operación Mapa (es decir, mapa) asignará la función establecida en cada elemento de un Traversable y devolverá una nueva colección como salida.
    Ejemplo :

    // Scala program of Map operations
      
    // Creating object 
    object GFG
    {
      
        // Main method
        def main(args: Array[String]) 
        {
      
            // Creating a List of lists
            val q = List(List(7), List(8, 9, 10), List(11, 12, 13))
      
            // Applying map operation
            val r = q.flatMap(_.map(_ + 3))
      
            // Displaying List
            println(r)
        }
    }
    Producción:

    List(10, 11, 12, 13, 14, 15, 16)
    

    Aquí, flatMap asignará la función indicada en cada elemento dentro de los elementos y luego concatenará la salida.
    Ejemplo :

    // Scala program of Map operations
      
    // Creating object 
    object GFG
    {
      
        // Main method
        def main(args: Array[String]) 
        {
      
            // Creating List of numbers
            val x = List(9, 3, 5, 11, 15, 4)
      
            // Applying map operation 
            val y = x.collect 
            {
      
                // Partial function
                case z : Int if (z % 3 == 0) => z + 2
            }
      
            //Displaying list
            println(y)
        }
    }
    Producción:

    List(11, 5, 17)
    

    Aquí, collect asignará una función parcial a cada elemento de Traversable y dará como resultado una colección no idéntica.

Publicación traducida automáticamente

Artículo escrito por nidhi1352singh 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 *