Operaciones agregadas de Kotlin

La operación agregada es una operación que se realiza en una estructura de datos, como una array, como un todo en lugar de realizarla en un elemento individual.

    Las funciones que usaron operaciones agregadas son las siguientes:

  1. La función count() se utiliza para devolver el número de elementos.
  2. La función sum() se usa para devolver la suma de elementos en la colección de números.
  3. Las funciones min() se utilizan para devolver el elemento más pequeño.
  4. Las funciones max() se utilizan para devolver el elemento más grande.
  5. La función promedio() se usa para devolver el valor promedio de los elementos en la colección de números.
  6. La función maxBy() devuelve un Colector que produce el elemento máximo de acuerdo con un determinado.
  7. La función minBy() devuelve un Collector que produce el elemento mínimo de acuerdo con un determinado.
  8. La función maxWith() toma un objeto Comparator y generalmente devuelve el elemento más grande.
  9. La función minWith() toma un objeto Comparator y generalmente devuelve el elemento más pequeño.
  10. sumBy() realiza una suma por grupo eficiente y opcionalmente ponderada mediante el uso de álgebra lineal y las capacidades del paquete Matrix.
  11. sumByDouble() Devuelve la suma de todos los valores producidos por la función selectora aplicada a cada elemento de la array.

Programa Kotlin de usar algunas de las funciones agregadas –

//Functions that used aggregate operations
fun main(args: Array<String>) {
    val numbers = listOf(6,34,57,78,12,4,5,5)
  
    println("Count the number of element in the list: ${numbers.count()}")
    println("Sum of the elements in the list: ${numbers.sum()}")
    println("Min value in the list: ${numbers.min()}")
    println("Max value in the list: ${numbers.max()}")
    println("Average of all elements in the list: ${numbers.average()}")
}

Producción:

Count the number of element in the list: 8
Sum of the elements in the list: 201
Min value in the list: 4
Max value in the list: 78
Average of all elements in the list: 25.125

Programa Kotlin para usar las funciones sumBy() y sumByDouble()-

//Functions that used aggregate operations
fun main(args: Array<String>) {
    val numbers = listOf(6,34,57,78,12,4,5,5)
    println("Multiply each element with 3 and sum: "+numbers.sumBy { it * 3 })
    println(numbers.sumByDouble { it.toDouble() / 2 })
}

Producción:

Multiply each element with 3 and sum: 603
100.5

Programa Kotlin para usar las funciones minBy() y maxWith() –

//Functions that used aggregate operations
fun main(args: Array<String>) {
    val numbers = listOf(6,34,57,78,12,4,5,5)
    val minRem = numbers.minBy { it % 4}
    println("Minimum remainder returned by: " +minRem)
  
    val strings = listOf("Cricket","Football","Volley","Chess")
    val maxstrln = strings.maxWith(compareBy { it.length })
    println("String with max length is: " +maxstrln)
}

Producción:

Minimum remainder returned by: 12
String with max length is: Football

Funciones de plegado y reducción

  • Función fold() : toma una función de operador binario asociativo como parámetro y la usará para colapsar elementos de la colección. .
  • función foldRight() : Funciona de manera similar a fold(). El orden para recorrer los elementos de la colección es de derecha a izquierda.
  • Función foldIndexed() : se utiliza para obtener acceso al índice actual durante la iteración.
  • Función foldRightIndexed(): Funciona de manera similar a foldIndexed(). El orden para recorrer los elementos de la colección es de derecha a izquierda.
  • La función reduce() reduce la array a un solo valor. Ejecuta una función proporcionada para cada valor de la array.
  • función reduceRight() : Funciona de manera similar a reduce(). El orden de eliminación de los elementos de la colección es de derecha a izquierda.
  • La función reduceIndexed() acumula valor comenzando con el primer elemento y aplicando [operación] de izquierda a derecha al valor acumulador actual y cada elemento con su índice en la colección dada.
  • función reduceRightIndexed(): Funciona de manera similar a reduceIndexed(). El orden en la colección es de derecha a izquierda.

Programa de Kotlin para usar las funciones fold() y reduce() –

//Fold and Reduce Functions
fun main(args: Array<String>) {
    val numbers = listOf(57,78,12,4,5,5, 42)
    val sum = numbers.reduce { sum, element -> sum + element }
    println("The sum of all elements in list "+sum)
    val sumThrice = numbers.fold(0) { sum, element -> sum + element * 3}
    println("Multiply each element with 3 and sum "+sumThrice)
}

Producción:

The sum of all elements in list 203
Multiply each element with 3 and sum 609

Programa Kotlin de usar la función foldRight() –

//Fold and Reduce Functions
fun main(args: Array<String>) {
    val numbers = listOf(6,34,57,78,12,4,5,5, 4)
    val sumThriceRight= numbers.foldRight(0){element, sum -> sum + element*3}
    println("The sum of the numbers from the right side: "+sumThriceRight)
}

Producción:

The sum of the numbers from the right side: 615

Programa Kotlin de usar foldIndexed() y foldRightIndexed() –

//Fold and Reduce Functions
fun main(args: Array<String>) {
    val numbers = listOf(6,34,57,78,12,4,5,5, 42, 10, 4)
    val sumOfEvenNumbers = numbers.foldIndexed(0)
    { idx, sum, element -> if (idx % 2 == 0) sum + element else sum }
    println("Sum of even numbers: "+sumOfEvenNumbers)
  
    val sumOfEvenFromRight = numbers.foldRightIndexed(0)
    { idx, element, sum -> if (idx % 2 == 0) sum + element else sum }
    println("Sum of even numbers from Right side: "+sumOfEvenFromRight)
}

Producción:

Sum of even numbers: 126
Sum of even numbers from Right side: 126

Publicación traducida automáticamente

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