Generate Infinite Stream of Integers in Java

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.
    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    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);
        }
    }

    chevron_right

    
    

    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.
    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    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);
        }
    }

    chevron_right

    
    

    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.
    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    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);
        }
    }

    chevron_right

    
    

    Output:

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


My Personal Notes arrow_drop_up

Technical Content Engineer at GeeksForGeeks

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.