This example will generate a set of random numbers within a given range using java and java 8 techniques.
Straight up Java
The code snippet below will generate 10 random numbers by using a for loop and calling random.nextInt.
@Test
public void generate_random_number_in_range_java() {
int rangeUpper = 10;
Random random = new Random();
List<Integer> randomNumbers = new ArrayList<>();
for (int x = 0; x < rangeUpper; x++) {
randomNumbers.add(random.nextInt(rangeUpper));
}
logger.info(randomNumbers);
assertTrue(randomNumbers.size() == 10);
}
Output
[7, 7, 7, 1, 1, 7, 4, 8, 1, 6]
Java 8
Using Java 8 Stream api we will call Random.ints while specifing a range between 1 and 10.
@Test
public void generate_random_number_in_range_java8() {
Random random = new Random(10);
List<Integer> randomNumbers = random.ints(0, 10).limit(10).boxed()
.collect(Collectors.toList());
logger.info(randomNumbers);
assertTrue(randomNumbers.size() == 10);
}
Output
[3, 0, 3, 0, 6, 6, 7, 8, 1, 4]