Начиная с Java 7, вы больше не должны использовать Random
. Для большинства применений
генератор случайных чисел выбора сейчас
ThreadLocalRandom
.
Для пулов с вилочным соединением и параллельных
потоки, используйте SplittableRandom
.
Джошуа Блох. Эффективная Java. Третье издание.
Начиная с Java 8
Для пулов объединений и параллельных потоков используйте SplittableRandom
, который обычно быстрее, обладает лучшими свойствами статистической независимости и однородности по сравнению с Random
.
Для генерации случайного int
в диапазоне [0, 1_000]:
int n = new SplittableRandom().nextInt(0, 1_001);
Для генерации случайного int[100]
массива значений в диапазоне [0, 1_000]:
int[] a = new SplittableRandom().ints(100, 0, 1_001).parallel().toArray();
Чтобы вернуть поток случайных значений:
IntStream stream = new SplittableRandom().ints(100, 0, 1_001);