Open In App

Generate Infinite Stream of Integers in Java

Last Updated : 11 Dec, 2018
Improve
Improve
Like Article
Like
Save
Share
Report

Given the task is to generate an infinite sequential unordered stream of integers in Java.

This can be done in following ways:

  • Using IntStream.iterate():
    1. Using the IntStream.iterate() method, iterate the IntStream with i by incrementing the value with 1.
    2. Print the IntStream with the help of forEach() method.




    import java.util.stream.*;
      
    public class GFG {
      
        // Main method
        public static void main(String[] args)
        {
      
            IntStream
      
                // Iterate the IntStream with i
                // by incrementing the value with 1
                .iterate(0, i -> i + 1)
      
                // Print the IntStream
                // using forEach() method.
                .forEach(System.out::println);
        }
    }

    
    

    Output:

    0
    1
    2
    3
    4
    5
    .
    .
    .
    
  • Using Random.ints():
    1. Get the next integer using ints() method
    2. Print the IntStream 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 integer
                // using ints() method
                .ints()
      
                // Print the IntStream
                // using forEach() method.
                .forEach(System.out::println);
        }
    }

    
    

    Output:

    -1214876682
    911266110
    1224044471
    -1867062635
    1893822159
    1226183018
    741533414
    .
    .
    .
    
  • Using IntStream.generate():
    1. Generate the next integer using IntStream.generate() and Random.nextInt()
    2. Print the IntStream 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();
      
            IntStream
      
                // Generate the next integer
                // using IntStream.generate()
                // and Random.nextInt()
                .generate(random::nextInt)
      
                // Print the IntStream
                // using forEach() method.
                .forEach(System.out::println);
        }
    }

    
    

    Output:

    -798555363
    -531857014
    1861939261
    273120213
    -739170342
    1295941815
    870955405
    -631166457
    .
    .
    .
    


Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads