Open In App
Related Articles

Generate Infinite Stream of Double in Java

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Report issue
Report
Given the task is to generate an infinite sequential unordered stream of double in Java. This can be done in following ways:
  • Using DoubleStream.iterate():
    1. Using the DoubleStream.iterate() method, iterate the DoubleStream with i by incrementing the value with 1.
    2. Print the DoubleStream with the help of forEach() method.
    import java.util.stream.*;
      
    public class GFG {
      
        // Main method
        public static void main(String[] args)
        {
      
            DoubleStream
      
                // Iterate the DoubleStream with i
                // by incrementing the value with 1
                .iterate(0, i -> i + 1)
      
                // Print the DoubleStream
                // using forEach() method.
                .forEach(System.out::println);
        }
    }
    
                        
    Output:
    0.0
    1.0
    2.0
    3.0
    4.0
    5.0
    6.0
    .
    .
    .
    
  • Using Random.doubles():
    1. Get the next double using doubles() method
    2. Print the DoubleStream with the help of forEach() method.
    import java.util.stream.*;
    import java.util.*;
      
    public class GFG {
      
        // Main method
        public static void main(String[] args)
        {
      
            // Create a Random object
            Random random = new Random();
      
            random
      
                // Get the next double
                // using doubles() method
                .doubles()
      
                // Print the DoubleStream
                // using forEach() method.
                .forEach(System.out::println);
        }
    }
    
                        
    Output:
    0.3668625445505631
    0.4385898887922953
    0.23333911864591927
    0.7134958163360963
    0.6945667694181287
    0.6898427735417596
    0.9243923588584183
    .
    .
    .
    
  • Using DoubleStream.generate() method:
    1. Generate the next double using DoubleStream.generate() and Random.nextDouble()
    2. Print the DoubleStream with the help of forEach() method.
    import java.util.stream.*;
    import java.util.*;
      
    public class GFG {
      
        // Main method
        public static void main(String[] args)
        {
      
            // Create a Random object
            Random random = new Random();
      
            DoubleStream
      
                // Generate the next double
                // using DoubleStream.generate()
                // and Random.nextDouble()
                .generate(random::nextDouble)
      
                // Print the DoubleStream
                // using forEach() method.
                .forEach(System.out::println);
        }
    }
    
                        
    Output:
    0.025801080723973246
    0.5115037630832635
    0.030815898624858784
    0.5441584143944648
    0.6984267528746901
    0.5821292304544626
    .
    .
    .
    


Last Updated : 11 Dec, 2018
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads