---
title: 'Strom von Zufallszahlen generieren'
url: 'https://www.tutego.de/blog/javainsel/2014/01/strom-von-zufallszahlen-generieren'
markdown: 'https://www.tutego.de/blog/javainsel/2014/01/strom-von-zufallszahlen-generieren.md'
date: '2014-01-06'
description: '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 Jav…'
taxonomy:
  category:
    - Insel
    - 'Java 8'
---

# Strom von Zufallszahlen generieren

![Illustration einer tropischen Insel mit Palmen und einem hohen Berg](https://www.tutego.de/blog/javainsel/user/themes/tutego/images/insel-cover.jpg)# Java Blog für Programmierer

[Java Blog für Programmierer](https://www.tutego.de/blog/javainsel/)

## Strom von Zufallszahlen generieren

06.01.2014 · [Christian Ullenboom](https://www.tutego.de/blog/javainsel/author/admin/)

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 Methoden, die einen `Stream` von Zufallszahlen liefern:

- `IntStream ints(…)`
- `LongStream longs(…)`
- `DoubleStream doubles(…)`

Beispiel: Liefere 10 zufällige Zahlen, die vermutlich Primzahlen sind:

```java
LongStream stream = new Random().longs()

.filter( v -> BigInteger.valueOf( v ).isProbablePrime(5) );

stream.limit( 10 ).forEach( System.out::println );
```

Die Methoden `ints(…)`, `longs(…)` und `doubles(…)` gibt es in drei Spielarten.

**Parametrisierung**

**Erklärung**

IntSteam `ints()`

Liefert unendlichen Strom von Zufallszahlen im kompletten Wertebereich der Primitiven

`LongStream` `longs()`

`DoubleStream` `doubles()`

`ints(long streamSize)`

Liefert einen Strom mit `streamSize` Zufallszahlen

`longs(long streamSize)`

`double(long streamSize)`

`ints(int randomNumberOrigin, int randomNumberBound)`

`longs(long randomNumberOrigin, long randomNumberBound)`

`doubles(double randomNumberOrigin, double randomNumberBound)`

Liefert einen unendlichen Strom vom Zufallszahlen mit Werten im Bereich `randomNumberOrigin` (inklusiv) bis `randomNumberBound` (exklusiv)

`ints(int randomNumberOrigin, int randomNumberBound)`

`longs(long randomNumberOrigin, long randomNumberBound)`

`doubles(double randomNumberOrigin, double randomNumberBound)`

`ints(long streamSize, int randomNumberOrigin, int randomNumberBound)`

Liefert einen Strom mit `streamSize` Zufallszahlen an der Zahl mit Werten im Bereich `randomNumberOrigin` (inklusiv) bis `randomNumberBound` (exklusiv)

`longs(long streamSize, long randomNumberOrigin, long randomNumberBound)`

`doubles(long streamSize, double randomNumberOrigin, double randomNumberBound)`

`Stream`-Methoden der `Random`-Klasse

Beispiel: Gib 5 Fließkomma-Zufallszahlen im Bereich von 10 bis 20 aus.

```java
new Random().doubles(5, 10, 20).forEach( System.out::println );
```

Kategorien: [Insel](https://www.tutego.de/blog/javainsel/category/insel/), [Java 8](https://www.tutego.de/blog/javainsel/category/java-8/)

[← Alle Beiträge](https://www.tutego.de/blog/javainsel/)

---

## Navigation

- Previous: [Beispiel ListResourceBundle](https://www.tutego.de/blog/javainsel/2014/01/beispiel-listresourcebundle.md)
- Next: [Map-Operationen in Abhängigkeit von (nicht-)existierenden Werten in Java 8](https://www.tutego.de/blog/javainsel/2014/01/map-operationen-in-abhngigkeit-von-nicht-existierenden-werten-in-java-8.md)
