Mehrere Zufallszahlen generieren, Stream in Random
Sind mehrere Zufallszahlen nötig, ist eine Schleife mit wiederholten Aufrufen von nextXXX() nicht nötig; stattdessen gibt es in Random zwei Sorten von Methoden, die ein Bündel von Zufallszahlen liefern. Als erstes:
void nextBytes(byte[] bytes)Füllt das Feld bytes mit Zufallsbytes auf.
Neu ab Java 8 sind drei Methoden, die einen Stream von Daten liefern:
-
LongStream longs() -
DoubleStream doubles() -
DoubleStream gaussians()
Beispiel: Liefere 10 zufällige Zahlen, die vermutlich Primzahlen sind:
LongStream stream = new Random().longs().filter( v -> BigInteger.valueOf( v ).isProbablePrime(5) );
stream.limit( 10 ).forEach( System.out::println );