Rasgo Scala Traversable | Juego-4

Requisito previo: –
Scala Trait Traversable | Set-1
Rasgo Scala Traversable | Set-2
Rasgo Scala Traversable | Set-3
Se recomienda ver Set-1, Set2 y Set-3 antes de este.
Las operaciones son las siguientes:

  • Pliegues:
    Las operaciones aquí son reducirDerecha, reducirIzquierda, /: o doblarIzquierda, :\ o doblarDerecha . Estos métodos aplican operaciones binarias a los elementos sucesivos de la colección Traversable.
    Ejemplo :

    // Scala program for operations
    // of Folds
      
    // Creating object 
    object Folds
    {
      
        // Main method
        def main(args: Array[String]) 
        {
      
            // Creating List of numbers 
            val x = List(8, 6, 4, 2)
      
            // Applying method of
            // Folds
            // val y = x.foldLeft(0)(_ - _) or
            val y = (0 /: x)(_ - _)
      
            // Evaluates the Expression 
            // given below and displays it
            // ((((0 - 8) - 6) - 4) - 2) 
            println(y)
      
        }
    }
    Producción:

    -20
    

    Aquí, foldLeft(0) es la operación deseada donde cero es el ‘valor inicial’.
    Este método aplica operaciones binarias entre elementos sucesivos de la colección Traversable dada, moviéndose de izquierda a derecha y comenzando con el valor inicial.
    Ejemplo :

    // Scala program for operations
    // of Folds
      
    // Creating object 
    object Folds
    {
      
        // Main method
        def main(args: Array[String]) 
        {
      
            // Creating List of numbers 
            val x = List(8, 6, 4, 2)
      
            // Applying method of
            // Folds
            // val y = x.foldRight(0)(_ - _) or
            val y = (x :\ 0)(_ - _)
      
            // Evaluates the Expression 
            // given below and displays it
            // (8 - (6 - (4 - (2 - 0))))
            println(y)
        }
    }
    Producción:

    4
    

    Aquí, foldRight realizará operaciones binarias entre elementos sucesivos de la colección, moviéndose de izquierda a derecha y finalizando con el valor inicial.
    Ejemplo :

    // Scala program for operations
    // of Folds
      
    // Creating object 
    object Folds
    {
      
        // Main method
        def main(args: Array[String]) 
        {
      
            // Creating List of numbers 
            val x = List(8, 6, 4, 2)
      
            // Applying method of folds
            val y = x.reduceLeft(_ - _)
      
            // Evaluates the Expression 
            // given below and displays it
            // (((8 - 6) - 4) -2)
            println(y)
        }
    }
    Producción:

    -4
    

    Aquí, reduceLeft realiza la operación binaria entre los elementos sucesivos de la colección como foldLeft pero considerando el primer elemento de la colección dada como valor inicial.
    Ejemplo :

    // Scala program for operations
    // of Folds
      
    // Creating object 
    object Folds
    {
      
        // Main method
        def main(args: Array[String]) 
        {
      
            // Creating List of numbers 
            val x = List(8, 6, 4, 2)
      
            // Applying method of folds
            val y = x.reduceRight(_ - _)
      
            // Evaluates the Expression 
            // given below and displays it
            // (8 - (6 - (4 - 2)))
            println(y)
        }
    }
    Producción:

    4
    

    Aquí, reduceRight realizará una operación binaria como foldRight pero considerando el último elemento de la colección como valor inicial.

  • Pliegues específicos:
    las operaciones aquí son min, max, product y sum . Estas operaciones operan en distintos tipos de colecciones de Traversable.
    Ejemplo :

    // Scala program for operations
    // of Specific folds
      
    // Creating object 
    object Specificfold
    {
      
        // Main method
        def main(args: Array[String]) 
        {
      
            // Creating List of numbers 
            val x = List(3, 4, 7, 10)
      
            // Applying method of 
            // Specific folds
            val y = x.sum
      
            // Displays sum of all the
            // elements in the list 
            println(y)
        }
    }
    Producción:

    24
    

    Aquí, sum devolverá la suma de todos los elementos de la colección dada.
    Ejemplo :

    // Scala program for operations
    // of Specific folds
      
    // Creating object 
    object Specificfold
    {
      
        // Main method
        def main(args: Array[String]) 
        {
      
            // Creating List of numbers 
            val x = List(2, 5, 10, 12)
      
            //Applying method of 
            //Specific folds
            val y = x.product
      
            //Displays product of all 
            //the elements in the list 
            println(y)
        }
    }
    Producción:

    1200
    

    Aquí, el producto devolverá el producto de todos los elementos de la colección proporcionada.
    Ejemplo :

    // Scala program for operations
    // of Specific folds
      
    // Creating object 
    object Specificfold
    {
      
        // Main method
        def main(args: Array[String]) 
        {
      
            // Creating List of numbers 
            val x = List(21, 15, 27, 22)
      
            // Applying method of 
            // Specific folds
            val y = x.max
      
            // Displays largest element
            // of the list
            println(y)
        }
    }
    Producción:

    27
    

    Aquí, max devolverá el elemento más grande de todos los elementos de la colección dada.
    Ejemplo :

    // Scala program for operations
    // of Specific folds
      
    // Creating object 
    object Specificfold
    {
      
        // Main method
        def main(args: Array[String]) 
        {
      
            // Creating List of numbers 
            val x = List(21, 15, 27, 22)
      
            // Applying method of 
            // Specific folds
            val y = x.min
      
            // Displays smallest element
            // of the list
            println(y)
        }
    }
    Producción:

    15
    

    Aquí, min devolverá el elemento más pequeño de todos los elementos de la colección dada.

  • Operaciones de string:
    las operaciones aquí son addString, mkString, stringPrefix . Estas operaciones se utilizan para proporcionar otros métodos para convertir una colección determinada de Traversables en una string.
    Ejemplo :

    // Scala program for operations
    // of Strings
      
    // Creating object 
    object Strings
    {
      
        // Main method
        def main(args: Array[String]) 
        {
      
            // Creating List of numbers 
            val x = List(7, 8, 9, 10, 11)
            val v = List(21, 19, 17, 15)
      
            // Applying Strings operations
            val y = x.mkString(" < ")
            val w = v.mkString(" > ")
      
            // Displays all the elements
            // separated by (<)
            println(y)
            println("\n")
      
            // Displays all the elements
            // separated by (>)
            println(w)
        }
    }
    Producción:

    7 < 8 < 9 < 10 < 11
    
    
    21 > 19 > 17 > 15
    

    Aquí, mkString(“<«) es la operación deseada donde, «<» es el separador.
    Esta operación se utiliza para devolver la colección dada de elementos separados por el separador dado.
    Ejemplo :

    // Scala program for operations
    // of Strings
      
    // Creating object 
    object Strings
    {
      
        // Main method
        def main(args: Array[String]) 
        {
      
            // Creating List of numbers 
            val x = List(7, 8, 9, 10, 11)
      
            // Creating StringBuilder
            val B = new StringBuilder("The numbers are: ")
          
            // Applying Strings operation
            val y = x.addString(B, ", ")
      
            // Displays all the elements
            // of the list in the String 
            // builder separated by (,)
            println(y)
        }
    }
    Producción:

    The numbers are: 7, 8, 9, 10, 11
    

    Aquí, addString(B, “, “) es la operación deseada donde “B” es un generador de strings y “,” es un separador.
    Esta operación Agrega la colección dada de los elementos en StringBuilder separados por el separador indicado.
    Ejemplo :

    // Scala program for operations
    // of Strings
      
    // Creating object 
    object Strings
    {
      
        // Main method
        def main(args: Array[String]) 
        {
      
            // Creating a Set of numbers 
            val x = Set(7, 8, 9, 10, 11)
          
            // Applying Strings operation
            val y = x.stringPrefix
      
            // Displays the name of the 
            // collection used
            println(y)
        }
    }
    Producción:

    Set
    

    Aquí, stringPrefix devolverá el nombre de la colección utilizada.

  • Operaciones de copia:
    las dos operaciones de copia son copyToArray y copyToBuffer. Estas operaciones se utilizan para Copiar los elementos de la Colección Traversable a un Array oa un buffer.
  • Ver operaciones:
    Las operaciones aquí son view , view(from, to) . Estas operaciones se utilizan para producir una vista sobre la colección de Traversable dada.

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 *