{"id":2620,"date":"2014-01-06T16:26:37","date_gmt":"2014-01-06T14:26:37","guid":{"rendered":"http:\/\/www.tutego.de\/blog\/javainsel\/?p=2620"},"modified":"2014-01-06T16:26:37","modified_gmt":"2014-01-06T14:26:37","slug":"strom-von-zufallszahlen-generieren","status":"publish","type":"post","link":"https:\/\/www.tutego.de\/blog\/javainsel\/2014\/01\/strom-von-zufallszahlen-generieren\/","title":{"rendered":"Strom von Zufallszahlen generieren"},"content":{"rendered":"<p>Sind mehrere Zufallszahlen n\u00f6tig, ist eine Schleife mit wiederholten Aufrufen von nextXXX() nicht n\u00f6tig; stattdessen gibt es in Random zwei Sorten von Methoden, die ein B\u00fcndel von Zufallszahlen liefern. Als erstes: <\/p>\n<p>\u00a7 void nextBytes(byte[] bytes)<br \/>F\u00fcllt das Feld bytes mit Zufallsbytes auf. <\/p>\n<p>Neu ab Java 8 sind Methoden, die einen Stream von Zufallszahlen liefern: <\/p>\n<p>\u00a7 IntStream ints(\u2026) <\/p>\n<p>\u00a7 LongStream longs(\u2026) <\/p>\n<p>\u00a7 DoubleStream doubles(\u2026) <\/p>\n<p>Beispiel: Liefere 10 zuf\u00e4llige Zahlen, die vermutlich Primzahlen sind: <\/p>\n<p>LongStream stream = new Random().longs() <\/p>\n<p>.filter( v -&gt; BigInteger.valueOf( v ).isProbablePrime(5) ); <\/p>\n<p>stream.limit( 10 ).forEach( System.out::println ); <\/p>\n<p>Die Methoden ints(\u2026), longs(\u2026) und doubles(\u2026) gibt es in drei Spielarten. <\/p>\n<table cellspacing=\"0\" cellpadding=\"0\" border=\"1\">\n<tbody>\n<tr>\n<td valign=\"top\" width=\"451\">\n<p><b>Parametrisierung<\/b><\/p>\n<\/td>\n<td valign=\"top\" width=\"311\">\n<p><b>Erkl\u00e4rung<\/b><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"451\">\n<p>IntSteam ints()<\/p>\n<\/td>\n<td valign=\"top\" width=\"311\">\n<p>Liefert unendlichen Strom von Zufallszahlen im kompletten Wertebereich der Primitiven<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"451\">\n<p>LongStream longs()<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"451\">\n<p>DoubleStream doubles()<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"451\">\n<p>ints(long streamSize)<\/p>\n<\/td>\n<td valign=\"top\" width=\"311\">\n<p>Liefert einen Strom mit streamSize Zufallszahlen<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"451\">\n<p>longs(long streamSize)<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"451\">\n<p>double(long streamSize)<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"451\">\n<p>ints(int randomNumberOrigin, int randomNumberBound) <\/p>\n<p>longs(long randomNumberOrigin, long randomNumberBound) <\/p>\n<p>doubles(double randomNumberOrigin, double randomNumberBound)<\/p>\n<\/td>\n<td valign=\"top\" width=\"311\">\n<p>Liefert einen unendlichen Strom vom Zufallszahlen mit Werten im Bereich randomNumberOrigin (inklusiv) bis randomNumberBound (exklusiv)<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"451\">\n<p>ints(int randomNumberOrigin, int randomNumberBound)<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"451\">\n<p>longs(long randomNumberOrigin, long randomNumberBound)<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"451\">\n<p>doubles(double randomNumberOrigin, double randomNumberBound)<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"451\">\n<p>ints(long streamSize, int randomNumberOrigin, int randomNumberBound)<\/p>\n<\/td>\n<td valign=\"top\" width=\"311\">\n<p>Liefert einen Strom mit streamSize Zufallszahlen an der Zahl mit Werten im Bereich randomNumberOrigin (inklusiv) bis randomNumberBound (exklusiv)<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"451\">\n<p>longs(long streamSize, long randomNumberOrigin, long randomNumberBound)<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"451\">\n<p>doubles(long streamSize, double randomNumberOrigin, double randomNumberBound)<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Stream-Methoden der Random-Klasse <\/p>\n<p>Beispiel: Gib 5 Flie\u00dfkomma-Zufallszahlen im Bereich von 10 bis 20 aus. <\/p>\n<p>new Random().doubles(5, 10, 20).forEach( System.out::println );<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Sind mehrere Zufallszahlen n\u00f6tig, ist eine Schleife mit wiederholten Aufrufen von nextXXX() nicht n\u00f6tig; stattdessen gibt es in Random zwei Sorten von Methoden, die ein B\u00fcndel von Zufallszahlen liefern. Als erstes: \u00a7 void nextBytes(byte[] bytes)F\u00fcllt das Feld bytes mit Zufallsbytes auf. Neu ab Java 8 sind Methoden, die einen Stream von Zufallszahlen liefern: \u00a7 IntStream [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","_links_to":"","_links_to_target":""},"categories":[11,66],"tags":[],"class_list":["post-2620","post","type-post","status-publish","format-standard","hentry","category-insel","category-java-8"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/2620","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/comments?post=2620"}],"version-history":[{"count":1,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/2620\/revisions"}],"predecessor-version":[{"id":2621,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/2620\/revisions\/2621"}],"wp:attachment":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/media?parent=2620"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/categories?post=2620"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/tags?post=2620"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}