public static <T> Collector<T, ?, Double> averagingLong(ToLongFunction<? super T> mapper)where the terms are as follows:
-
Interface Collector<T, A, R>: A mutable reduction operation that accumulates input elements into a mutable result container, optionally transforming the accumulated result into a final representation after all input elements have been processed. Reduction operations can be performed either sequentially or in parallel.
- T: The type of input elements to the reduction operation.
- A: The mutable accumulation type of the reduction operation.
- R: The result type of the reduction operation.
- Double: The Double class wraps a value of the primitive type double in an object. An object of type Double contains a single field whose type is double.
- ToLongFunction : Represents a function that produces a long-valued result.
// 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);
}
} |
Output:
Program 2:4.0
// 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);
}
} |
Output:
Program 3: When no value is passed as parameter.
8.5
// 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);
}
} |
Output:
0.0