Apache Commons logo Apache Commons RNG

Apache Commons RNG: Random Numbers Generators

Commons RNG provides implementations of pseudo-random numbers generators that are faster; of higher quality; and/or of a longer period than java.util.Random and java.util.SplittableRandom.

The "simple" module contains factory methods for easy instantiation of the generation algorithms implemented in the "commons-rng-core" module.

Example:

import org.apache.commons.rng.UniformRandomProvider;
import org.apache.commons.rng.simple.RandomSource;

public class Dice {
    private final UniformRandomProvider rng = RandomSource.XO_RO_SHI_RO_128_PP.create();

    public int roll() {
        return 1 + rng.nextInt(6);
    }
}

Browse the Javadoc for more information.