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:
- La función count() se utiliza para devolver el número de elementos.
- La función sum() se usa para devolver la suma de elementos en la colección de números.
- Las funciones min() se utilizan para devolver el elemento más pequeño.
- Las funciones max() se utilizan para devolver el elemento más grande.
- La función promedio() se usa para devolver el valor promedio de los elementos en la colección de números.
- La función maxBy() devuelve un Colector que produce el elemento máximo de acuerdo con un determinado.
- La función minBy() devuelve un Collector que produce el elemento mínimo de acuerdo con un determinado.
- La función maxWith() toma un objeto Comparator y generalmente devuelve el elemento más grande.
- La función minWith() toma un objeto Comparator y generalmente devuelve el elemento más pequeño.
- sumBy() realiza una suma por grupo eficiente y opcionalmente ponderada mediante el uso de álgebra lineal y las capacidades del paquete Matrix.
- 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