Skip to content
Related Articles

Related Articles

Improve Article
DoubleStream flatMap(DoubleFunction mapper) in Java
  • Last Updated : 06 Dec, 2018

DoubleStream flatMap(DoubleFunction mapper) returns a stream 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. This 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 flatMap(DoubleFunction<? extends DoubleStream> mapper)

Parameters :

  1. DoubleStream : A sequence of primitive double-valued elements.
  2. DoubleFunction : A function that accepts an double-valued argument and produces a result.
  3. mapper : A stateless function which is applied to each element and the function returns the new stream.

Return Value : DoubleStream flatMap(DoubleFunction mapper) returns a stream by a mapped stream using mapping function.



Example 1 : Using DoubleStream flatMap() to get the cube of elements of DoubleStream.




// Java code for DoubleStream flatMap
// (DoubleFunction mapper) to get a stream
// consisting of the results of replacing
// each element of this stream with the
// contents of a mapped stream
import java.util.*;
import java.util.stream.DoubleStream;
  
class GFG {
  
    // Driver code
    public static void main(String[] args)
    {
        // Creating an DoubleStream
        DoubleStream stream1 = DoubleStream.of(4.2, 5.3, 6.6, 7.0);
  
        // Using DoubleStream flatMap()
        DoubleStream stream2 = stream1.flatMap(num
                   -> DoubleStream.of(num * num * num));
  
        // Displaying the resulting DoubleStream
        stream2.forEach(System.out::println);
    }
}
Output:
74.08800000000001
148.87699999999998
287.496
343.0

Example 2 :Using DoubleStream flatMap() to multiply every element of DoubleStream by 0.7




// Java code for DoubleStream flatMap
// (DoubleFunction mapper) to get a stream
// consisting of the results of replacing
// each element of this stream with the
// contents of a mapped stream
import java.util.*;
import java.util.stream.DoubleStream;
  
class GFG {
  
    // Driver code
    public static void main(String[] args)
    {
        // Creating an DoubleStream
        DoubleStream stream1 = DoubleStream.of(5.2, 6.4, 8.1, 10.0);
  
        // Using DoubleStream flatMap()
        DoubleStream stream2 = stream1.flatMap(num
                     -> DoubleStream.of(num * 0.7));
  
        // Displaying the resulting IntStream
        stream2.forEach(System.out::println);
    }
}
Output:
3.6399999999999997
4.4799999999999995
5.669999999999999
7.0

Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.




My Personal Notes arrow_drop_up
Recommended Articles
Page :