Java | Collectors averagingLong (ToLongFunction mapper) con ejemplos

El método Collectors averagingLong(ToLongFunction<? super T> mapper) se usa para encontrar la media de los valores largos pasados ​​en los parámetros. Este método devuelve un Collector que produce la media aritmética de una función de valor largo aplicada a los elementos de entrada. Si no se pasan elementos como elementos de entrada, este método devuelve 0.

La fórmula utilizada por este método para calcular la media aritmética es:

  {\displaystyle A={\frac {1}{n}}\sum _{i=1}^{n}a_{i}={\frac {a_{1}+a_{2}+\cdots +a_{n}}{n}}}

Sintaxis:

public static <T> 
    Collector<T, ?, Double> 
        averagingLong(ToLongFunction<? super T> mapper)

donde los términos son los siguientes:

  • Interface Collector<T, A, R> : una operación de reducción mutable que acumula elementos de entrada en un contenedor de resultados mutable, transformando opcionalmente el resultado acumulado en una representación final después de que se hayan procesado todos los elementos de entrada. Las operaciones de reducción se pueden realizar secuencialmente o en paralelo.
    • T: El tipo de elementos de entrada a la operación de reducción.
    • A: El tipo de acumulación mutable de la operación de reducción.
    • R: El tipo de resultado de la operación de reducción.
  • Doble: La clase Doble envuelve un valor del tipo primitivo doble en un objeto. Un objeto de tipo Doble contiene un solo campo cuyo tipo es doble.
  • ToLongFunction : representa una función que produce un resultado de valor largo.

Parámetros: este método acepta un asignador de parámetros que es un flujo de valor largo convertido en largo usando ToLongFunctions. ToLongFunction es una función que extrae un tipo de valor largo a medida que trabaja en los objetos de la secuencia.

A continuación hay ejemplos para ilustrar el método averagingLong():

Programa 1:

// Java code to show the implementation of
// averagingLong(ToLongFunction mapper) function
  
import java.util.stream.Collectors;
import java.util.stream.Stream;
  
class GFG {
  
    // Driver code
    public static void main(String[] args)
    {
  
        // creating a string stream
        Stream<String> s = Stream.of("3", "4", "5");
  
        // using Collectors averagingLong(ToLongFunction mapper)
        // method to find arithmetic mean of inputs given
        double ans = s
                         .collect(Collectors
                                      .averagingLong(
                                          num -> Long.parseLong(num)));
  
        // displaying the result
        System.out.println(ans);
    }
}
Producción:

4.0

Programa 2:

// Java code to show the implementation of
// averagingLong(ToLongFunction mapper) function
  
import java.util.stream.Collectors;
import java.util.stream.Stream;
  
class GFG {
  
    // Driver code
    public static void main(String[] args)
    {
  
        // creating a string stream
        Stream<String> s = Stream.of("7", "8", "9", "10");
  
        // using Collectors averagingLong(ToLongFunction mapper)
        // method to find arithmetic mean of inputs given
        double ans = s
                         .collect(Collectors
                                      .averagingLong(
                                          num -> Long.parseLong(num)));
  
        // displaying the result
        System.out.println(ans);
    }
}
Producción:

8.5

Programa 3: Cuando no se pasa ningún valor como parámetro.

// Java code to show the implementation of
// averagingLong(ToLongFunction mapper) function
  
import java.util.stream.Collectors;
import java.util.stream.Stream;
  
class GFG {
  
    // Driver code
    public static void main(String[] args)
    {
  
        // creating a string stream
        Stream<String> s = Stream.of();
  
        // using Collectors averagingLong(ToLongFunction mapper)
        // method to find arithmetic mean of inputs given
        double ans = s
                         .collect(Collectors
                                      .averagingLong(
                                          num -> Long.parseLong(num)));
  
        // displaying the result
        System.out.println(ans);
    }
}
Producción:

0.0

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *