35. Creating a stream of pseudo-random generators
Before creating a stream of pseudo-random generators, let’s create a stream of pseudo-random numbers. First thing first, let’s see how to do it with the legacy Random
, SecureRandom
, and ThreadLocalRandom
.
Since these three pseudo-random generators contain methods such as ints()
returning IntStream
, doubles()
returning DoubleStream
, and so on, we can easily generate an (in)finite stream of pseudo-random numbers, as follows:
Random rnd = new Random();
// the ints() flavor returns an infinite stream
int[] arrOfInts = rnd.ints(10).toArray(); // stream of 10 ints
// or, shortly
int[] arrOfInts = new Random().ints(10).toArray();
In our examples, we collect the generated pseudo-random numbers in an array. Of course, you can process them as you want. We can obtain similar results via SecureRandom
, as follows:
SecureRandom secureRnd = SecureRandom.getInstanceStrong();
int[] arrOfSecInts = secureRnd.ints(10).toArray...