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():
- Using the DoubleStream.iterate() method, iterate the DoubleStream with i by incrementing the value with 1.
- 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():
- Get the next double using doubles() method
- 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:
- Generate the next double using DoubleStream.generate() and Random.nextDouble()
- 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 . . .