LongStream reduce(identidad larga, LongBinaryOperator op) realiza una reducción en los elementos de esta secuencia, utilizando el valor de identidad proporcionado y una función de acumulación asociativa, y devuelve el valor reducido.
Una operación de reducción o pliegue toma una secuencia de elementos de entrada y los combina en un solo resultado de resumen, como encontrar la suma o el máximo de un conjunto de números. Un operador o función op es asociativo si se cumple lo siguiente:
(a op b) op c == a op (b op c)
Esta es una operación terminal, es decir, puede atravesar el flujo para producir un resultado o un efecto secundario. Una vez realizada la operación de terminal, la canalización de flujo se considera consumida y ya no se puede utilizar.
Sintaxis:
long reduce(long identity, LongBinaryOperator op)
Parámetros:
- identidad : El valor de identidad para la función de acumulación.
- LongBinaryOperator: una operación sobre dos operandos de valor largo y que produce un resultado de valor largo.
- op : una función asociativa sin estado para combinar dos valores.
Valor de Retorno: El resultado de la reducción.
Ejemplo 1 :
// Java code for LongStream reduce // (long identity, LongBinaryOperator op) import java.util.*; import java.util.stream.LongStream; class GFG { // Driver code public static void main(String[] args) { // Creating a LongStream LongStream stream = LongStream.of(1L, 3L, 5L, 7L, 9L); // Using LongStream reduce // (long identity, LongBinaryOperator op) long answer = stream.reduce(0, (num1, num2) -> (num1 + num2)); // Displaying the result System.out.println(answer); } }
Producción :
25
Ejemplo 2:
// Java code for LongStream reduce // (long identity, LongBinaryOperator op) import java.util.*; import java.util.stream.LongStream; class GFG { // Driver code public static void main(String[] args) { // Creating a LongStream LongStream stream = LongStream.range(3L, 7L); // Using LongStream reduce // (long identity, LongBinaryOperator op) long answer = stream.reduce(0, (num1, num2) -> (num1 * num2) - (num1 - num2)); // Displaying the result System.out.println(answer); } }
Producción :
291
Publicación traducida automáticamente
Artículo escrito por Sahil_Bansall y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA