Stream flatMapToDouble() in Java with examples
Last Updated :
06 Dec, 2018
Stream flatMapToDouble(Function mapper) returns an DoubleStream consisting of the results of replacing each element of this stream with the contents of a mapped stream produced by applying the provided mapping function to each element. Stream flatMapToDouble(Function mapper) is an intermediate operation. These operations are always lazy. Intermediate operations are invoked on a Stream instance and after they finish their processing, they give a Stream instance as output.
Note : Each mapped stream is closed after its contents have been placed into this stream. If a mapped stream is null, an empty stream is used, instead.
Syntax :
DoubleStream flatMapToDouble(Function<? super T, ? extends DoubleStream> mapper)
Where, DoubleStream is a sequence of primitive
double-valued elements and T is the type
of stream elements. mapper is a stateless function
which is applied to each element and the function
returns the new stream.
Example 1 : flatMapToDouble() function with operation of parsing string to double.
import java.util.*;
import java.util.stream.DoubleStream;
class GFG {
public static void main(String[] args)
{
List<String> list = Arrays.asList( "1.5" , "2.7" , "3" ,
"4" , "5.6" );
list.stream().flatMapToDouble(num
-> DoubleStream.of(Double.parseDouble(num)))
.forEach(System.out::println);
}
}
|
Output :
1.5
2.7
3.0
4.0
5.6
Example 2 : flatMapToDouble() function with operation of returning stream with length of strings.
import java.util.*;
import java.util.stream.DoubleStream;
class GFG {
public static void main(String[] args)
{
List<String> list = Arrays.asList( "Geeks" , "GFG" ,
"GeeksforGeeks" , "gfg" );
list.stream().flatMapToDouble(str
-> DoubleStream.of(str.length()))
.forEach(System.out::println);
}
}
|
Output :
5.0
3.0
13.0
3.0
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...