クラスThreadLocalRandom
- ã™ã¹ã¦ã®å®Ÿè£…ã•れãŸã‚¤ãƒ³ã‚¿ãƒ•ェース:
Serializable,RandomGenerator
Mathクラスã«ã‚ˆã£ã¦ä½¿ç”¨ã•れるグãƒãƒ¼ãƒãƒ«ãªRandomジェãƒãƒ¬ãƒ¼ã‚¿ã¨åŒæ§˜ã«ã€ThreadLocalRandomã¯ã€ãれ以外ã§ã¯å¤‰æ›´ã§ããªã„内部的ã«ç”Ÿæˆã•れãŸã‚·ãƒ¼ãƒ‰ã§åˆæœŸåŒ–ã•れã¾ã™ã€‚ 該当ã™ã‚‹å ´åˆã€ä¸¦è¡Œãƒ—ãƒã‚°ãƒ©ãƒ 内ã®å…±æœ‰ã•れãŸRandomオブジェクトã§ã¯ãªãThreadLocalRandomを使用ã™ã‚Œã°ã€é€šå¸¸ã€ç™ºç”Ÿã™ã‚‹ã‚ªãƒ¼ãƒãƒ¼ãƒ˜ãƒƒãƒ‰ã‚„ç«¶åˆãŒã¯ã‚‹ã‹ã«å°‘ãªããªã‚Šã¾ã™ã€‚ ThreadLocalRandomã®ä½¿ç”¨ã¯ã€è¤‡æ•°ã®ã‚¿ã‚¹ã‚¯(ãŸã¨ãˆã°ã€å„ForkJoinTask)ãŒã‚¹ãƒ¬ãƒƒãƒ‰ãƒ»ãƒ—ール内ã§ä¸¦åˆ—ã«ä¹±æ•°ã‚’使用ã—ã¦ã„ã‚‹å ´åˆã«ç‰¹ã«é©ã—ã¦ã„ã¾ã™ã€‚
ã“ã®ã‚¯ãƒ©ã‚¹ã®ä½¿ç”¨æ³•ã¯é€šå¸¸ã€ThreadLocalRandom.current().nextX(...) (ã“ã“ã§ã€Xã¯Intã‚„Longãªã©)ã®å½¢å¼ã«ã™ã‚‹ã‚ˆã†ã«ã—ã¦ãã ã•ã„。 ã™ã¹ã¦ã®ä½¿ç”¨æ–¹æ³•ãŒã“ã®å½¢å¼ã§ã‚ã‚‹å ´åˆã€èª¤ã£ã¦è¤‡æ•°ã®ã‚¹ãƒ¬ãƒƒãƒ‰ã§ThreadLocalRandomを共有ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。
ã“ã®ã‚¯ãƒ©ã‚¹ã¯ã¾ãŸã€è¿½åŠ ã®ä¸€èˆ¬çš„ã«ä½¿ç”¨ã•れる制約付ãランダム生æˆãƒ¡ã‚½ãƒƒãƒ‰ã‚‚æä¾›ã—ã¾ã™ã€‚
ThreadLocalRandomã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã«ã¯ã‚»ã‚ãƒ¥ã‚¢ãªæš—å·åŒ–ãŒæ–½ã•れã¦ã„ã¾ã›ã‚“。 ã‚»ã‚ュリティã«ä¾å˜ã™ã‚‹ã‚¢ãƒ—リケーションã§ã¯ã€ã‹ã‚りã«SecureRandomã®ä½¿ç”¨ã‚’検討ã—ã¦ãã ã•ã„。 ã¾ãŸã€ã‚·ã‚¹ãƒ†ãƒ ・プãƒãƒ‘ティjava.util.secureRandomSeedã‚’trueã«è¨å®šã—ãªã„ã‹ãŽã‚Šã€ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§æ§‹ç¯‰ã•ã‚Œã‚‹ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã¯æš—å·åŒ–処ç†ã«ä¹±æ•°ã‚·ãƒ¼ãƒ‰ã‚’使用ã—ã¾ã›ã‚“。
- å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
- 1.7
- é–¢é€£é …ç›®:
-
ãƒã‚¹ãƒˆã•れãŸã‚¯ãƒ©ã‚¹ã®ã‚µãƒžãƒªãƒ¼
インタフェースjava.util.random.RandomGeneratorã§å®£è¨€ã•れãŸãƒã‚¹ãƒˆã•れãŸã‚¯ãƒ©ã‚¹/インタフェース
RandomGenerator.ArbitrarilyJumpableGenerator, RandomGenerator.JumpableGenerator, RandomGenerator.LeapableGenerator, RandomGenerator.SplittableGenerator, RandomGenerator.StreamableGenerator -
メソッドã®ã‚µãƒžãƒªãƒ¼
修飾åã¨åž‹ãƒ¡ã‚½ãƒƒãƒ‰èª¬æ˜Žstatic ThreadLocalRandomcurrent()ç¾åœ¨ã®ã‚¹ãƒ¬ãƒƒãƒ‰ThreadLocalRandomオブジェクトを返ã—ã¾ã™ã€‚doubles()0(å«ã‚€)ã‹ã‚‰1(å«ã¾ãªã„)ã¾ã§ã®æ“¬ä¼¼ä¹±æ•°double値をå«ã‚€ã€äº‹å®Ÿä¸Šç„¡åˆ¶é™ã®ã‚¹ãƒˆãƒªãƒ¼ãƒ ã‚’è¿”ã—ã¾ã™ã€‚doubles(double randomNumberOrigin, double randomNumberBound) 指定ã•れãŸèµ·ç‚¹(å«ã‚€)ã¨å¢ƒç•Œ(å«ã¾ãªã„)ã«æº–æ‹ ã—ãŸæ“¬ä¼¼ä¹±æ•°double値をå«ã‚€ã€äº‹å®Ÿä¸Šç„¡åˆ¶é™ã®ã‚¹ãƒˆãƒªãƒ¼ãƒ ã‚’è¿”ã—ã¾ã™ã€‚doubles(long streamSize) 0(å«ã‚€)ã‹ã‚‰1(å«ã¾ãªã„)ã¾ã§ã®æ“¬ä¼¼ä¹±æ•°doubleå€¤ã‚’ã€æŒ‡å®šã•れãŸstreamSizeæ•°ã ã‘生æˆã™ã‚‹ã‚¹ãƒˆãƒªãƒ¼ãƒ ã‚’è¿”ã—ã¾ã™ã€‚doubles(long streamSize, double randomNumberOrigin, double randomNumberBound) 指定ã•れãŸèµ·ç‚¹(å«ã‚€)ã¨å¢ƒç•Œ(å«ã¾ãªã„)ã«æº–æ‹ ã—ãŸæ“¬ä¼¼ä¹±æ•°doubleå€¤ã‚’ã€æŒ‡å®šã•れãŸstreamSizeæ•°ã ã‘生æˆã™ã‚‹ã‚¹ãƒˆãƒªãƒ¼ãƒ ã‚’è¿”ã—ã¾ã™ã€‚ints()擬似乱数int値をå«ã‚€ã€äº‹å®Ÿä¸Šç„¡åˆ¶é™ã®ã‚¹ãƒˆãƒªãƒ¼ãƒ ã‚’è¿”ã—ã¾ã™ã€‚ints(int randomNumberOrigin, int randomNumberBound) 指定ã•れãŸèµ·ç‚¹(å«ã‚€)ã¨å¢ƒç•Œ(å«ã¾ãªã„)ã«æº–æ‹ ã—ãŸæ“¬ä¼¼ä¹±æ•°int値をå«ã‚€ã€äº‹å®Ÿä¸Šç„¡åˆ¶é™ã®ã‚¹ãƒˆãƒªãƒ¼ãƒ ã‚’è¿”ã—ã¾ã™ã€‚ints(long streamSize) 擬似乱数intå€¤ã‚’ã€æŒ‡å®šã•れãŸstreamSizeæ•°ã ã‘生æˆã™ã‚‹ã‚¹ãƒˆãƒªãƒ¼ãƒ ã‚’è¿”ã—ã¾ã™ã€‚ints(long streamSize, int randomNumberOrigin, int randomNumberBound) 指定ã•れãŸèµ·ç‚¹(å«ã‚€)ã¨å¢ƒç•Œ(å«ã¾ãªã„)ã«æº–æ‹ ã—ãŸæ“¬ä¼¼ä¹±æ•°intå€¤ã‚’ã€æŒ‡å®šã•れãŸstreamSizeæ•°ã ã‘生æˆã™ã‚‹ã‚¹ãƒˆãƒªãƒ¼ãƒ ã‚’è¿”ã—ã¾ã™ã€‚longs()擬似乱数long値をå«ã‚€ã€äº‹å®Ÿä¸Šç„¡åˆ¶é™ã®ã‚¹ãƒˆãƒªãƒ¼ãƒ ã‚’è¿”ã—ã¾ã™ã€‚longs(long streamSize) 擬似乱数longå€¤ã‚’ã€æŒ‡å®šã•れãŸstreamSizeæ•°ã ã‘生æˆã™ã‚‹ã‚¹ãƒˆãƒªãƒ¼ãƒ ã‚’è¿”ã—ã¾ã™ã€‚longs(long randomNumberOrigin, long randomNumberBound) 指定ã•れãŸèµ·ç‚¹(å«ã‚€)ã¨å¢ƒç•Œ(å«ã¾ãªã„)ã«æº–æ‹ ã—ãŸæ“¬ä¼¼ä¹±æ•°long値をå«ã‚€ã€äº‹å®Ÿä¸Šç„¡åˆ¶é™ã®ã‚¹ãƒˆãƒªãƒ¼ãƒ ã‚’è¿”ã—ã¾ã™ã€‚longs(long streamSize, long randomNumberOrigin, long randomNumberBound) 指定ã•れãŸèµ·ç‚¹(å«ã‚€)ã¨å¢ƒç•Œ(å«ã¾ãªã„)ã«æº–æ‹ ã—ãŸæ“¬ä¼¼ä¹±æ•°longã‚’ã€æŒ‡å®šã•れãŸstreamSizeæ•°ã ã‘生æˆã™ã‚‹ã‚¹ãƒˆãƒªãƒ¼ãƒ ã‚’è¿”ã—ã¾ã™ã€‚protected intnext(int bits) 指定ã•れãŸä¸‹ä½ãƒ“ット数ã®ç–‘似乱数を生æˆã—ã¾ã™ã€‚doublenextDouble(double bound) ゼãƒ(包å«)ã¨æŒ‡å®šã—ãŸå¢ƒç•Œ(除外)ã®é–“ã®æ“¬ä¼¼ä¹±æ•°çš„ã«é¸æŠžã—ãŸdouble値を返ã—ã¾ã™ã€‚doublenextDouble(double origin, double bound) 指定ã•れãŸèµ·ç‚¹(包å«)ã¨æŒ‡å®šã•れãŸå¢ƒç•Œ(除外)ã®é–“ã®æ“¬ä¼¼ä¹±æ•°çš„ã«é¸æŠžã—ãŸdouble値を返ã—ã¾ã™ã€‚floatnextFloat(float bound) ゼãƒ(包å«)ã¨æŒ‡å®šã—ãŸãƒã‚¤ãƒ³ãƒ‰(除外)ã®é–“ã®æ“¬ä¼¼ä¹±æ•°çš„ã«é¸æŠžã—ãŸfloat値を返ã—ã¾ã™ã€‚floatnextFloat(float origin, float bound) 指定ã•れãŸèµ·ç‚¹(包å«)ã¨æŒ‡å®šã•れãŸå¢ƒç•Œ(除外)ã®é–“ã®æ“¬ä¼¼ä¹±æ•°çš„ã«é¸æŠžã—ãŸfloat値を返ã—ã¾ã™ã€‚intnextInt(int bound) ã“ã®ä¹±æ•°ã‚¸ã‚§ãƒãƒ¬ãƒ¼ã‚¿ã®ã‚·ãƒ¼ã‚±ãƒ³ã‚¹ã‚’使ã£ã¦ã€0ã‹ã‚‰æŒ‡å®šã•れãŸå€¤ã®ç¯„囲(0ã¯å«ã‚€ãŒã€ãã®æŒ‡å®šã•れãŸå€¤ã¯å«ã¾ãªã„)ã§ä¸€æ§˜åˆ†å¸ƒã®intåž‹ã®æ“¬ä¼¼ä¹±æ•°å€¤ã‚’è¿”ã—ã¾ã™ã€‚intnextInt(int origin, int bound) 指定ã•れãŸèµ·ç‚¹(包å«)ã¨æŒ‡å®šã•れãŸå¢ƒç•Œ(除外)ã®é–“ã®æ“¬ä¼¼ä¹±æ•°çš„ã«é¸æŠžã—ãŸint値を返ã—ã¾ã™ã€‚longnextLong(long bound) ゼãƒ(包å«)ã¨æŒ‡å®šã—ãŸå¢ƒç•Œ(除外)ã®é–“ã®æ“¬ä¼¼ä¹±æ•°çš„ã«é¸æŠžã—ãŸlong値を返ã—ã¾ã™ã€‚longnextLong(long origin, long bound) 指定ã•れãŸèµ·ç‚¹(包å«)ã¨æŒ‡å®šã•れãŸå¢ƒç•Œ(除外)ã®é–“ã®æ“¬ä¼¼ä¹±æ•°çš„ã«é¸æŠžã—ãŸlong値を返ã—ã¾ã™ã€‚voidsetSeed(long seed) UnsupportedOperationExceptionをスãƒãƒ¼ã—ã¾ã™ã€‚クラスjava.util.Randomã§å®£è¨€ã•れãŸãƒ¡ã‚½ãƒƒãƒ‰
from, nextBoolean, nextBytes, nextDouble, nextFloat, nextGaussian, nextInt, nextLongクラスjava.lang.Objectã§å®£è¨€ã•れãŸãƒ¡ã‚½ãƒƒãƒ‰
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitインタフェースjava.util.random.RandomGeneratorã§å®£è¨€ã•れãŸãƒ¡ã‚½ãƒƒãƒ‰
equiDoubles, isDeprecated, nextExponential, nextGaussian
-
メソッドã®è©³ç´°
-
current
public static ThreadLocalRandom current()ç¾åœ¨ã®ã‚¹ãƒ¬ãƒƒãƒ‰ThreadLocalRandomオブジェクトを返ã—ã¾ã™ã€‚ ã“ã®ã‚ªãƒ–ジェクトã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€ä»–ã®ã‚¹ãƒ¬ãƒƒãƒ‰ã§ã¯ãªãç¾åœ¨ã®ã‚¹ãƒ¬ãƒƒãƒ‰ã«ã‚ˆã£ã¦ã®ã¿ã‚³ãƒ¼ãƒ«ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚- 戻り値:
- ç¾åœ¨ã®ã‚¹ãƒ¬ãƒƒãƒ‰ã®
ThreadLocalRandom
-
setSeed
public void setSeed(long seed) UnsupportedOperationExceptionをスãƒãƒ¼ã—ã¾ã™ã€‚ ã“ã®ã‚¸ã‚§ãƒãƒ¬ãƒ¼ã‚¿ã§ã®ã‚·ãƒ¼ãƒ‰ã®è¨å®šã¯ã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã¾ã›ã‚“。- オーãƒãƒ¼ãƒ©ã‚¤ãƒ‰:
setSeedã€ã‚¯ãƒ©ã‚¹Random- パラメータ:
seed- シード値- スãƒãƒ¼:
UnsupportedOperationException- 常時
-
next
protected int next(int bits) 指定ã•れãŸä¸‹ä½ãƒ“ット数ã®ç–‘似乱数を生æˆã—ã¾ã™ã€‚ ã“ã®ã‚¯ãƒ©ã‚¹ã«ã¯ã‚µãƒ–クラスãŒãªã„ãŸã‚ã€ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’èµ·å‹•ã¾ãŸã¯ã‚ªãƒ¼ãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã§ãã¾ã›ã‚“。 -
nextInt
public int nextInt(int bound) ã“ã®ä¹±æ•°ã‚¸ã‚§ãƒãƒ¬ãƒ¼ã‚¿ã®ã‚·ãƒ¼ã‚±ãƒ³ã‚¹ã‚’使ã£ã¦ã€0ã‹ã‚‰æŒ‡å®šã•れãŸå€¤ã®ç¯„囲(0ã¯å«ã‚€ãŒã€ãã®æŒ‡å®šã•れãŸå€¤ã¯å«ã¾ãªã„)ã§ä¸€æ§˜åˆ†å¸ƒã®intåž‹ã®æ“¬ä¼¼ä¹±æ•°å€¤ã‚’è¿”ã—ã¾ã™ã€‚nextIntã®ä¸€èˆ¬è¦ç´„ã§ã¯ã€æŒ‡å®šã•れãŸç¯„囲内ã®1ã¤ã®intåž‹ã®å€¤ãŒæ“¬ä¼¼ä¹±æ•°ã¨ã—ã¦ç”Ÿæˆã•れã¦è¿”ã•れã¾ã™ã€‚bound個ã®ã™ã¹ã¦ã®å¯èƒ½ãªint値ãŒ(ã»ã¼)å‡ç‰ãªç¢ºçއã§ç”Ÿæˆã•れã¾ã™ã€‚- 定義:
- インタフェース
RandomGenerator内ã®nextInt - オーãƒãƒ¼ãƒ©ã‚¤ãƒ‰:
nextIntã€ã‚¯ãƒ©ã‚¹Random- パラメータ:
bound- 上é™(å«ã¾ãªã„)。 æ£ã®å€¤ã§ãªã‘れã°ãªã‚‰ãªã„- 戻り値:
- ã“ã®ä¹±æ•°ã‚¸ã‚§ãƒãƒ¬ãƒ¼ã‚¿ã®ã‚·ãƒ¼ã‚±ãƒ³ã‚¹ã‚’使ã£ãŸã€0(å«ã‚€)ã‹ã‚‰
bound(å«ã¾ãªã„)ã®ç¯„囲ã§ä¸€æ§˜åˆ†å¸ƒã®ã€intåž‹ã®æ¬¡ã®æ“¬ä¼¼ä¹±æ•°å€¤ - スãƒãƒ¼:
IllegalArgumentException- boundãŒæ£ã§ãªã„å ´åˆ
-
nextInt
public int nextInt(int origin, int bound) 指定ã•れãŸèµ·ç‚¹(包å«)ã¨æŒ‡å®šã•れãŸå¢ƒç•Œ(除外)ã®é–“ã®æ“¬ä¼¼ä¹±æ•°çš„ã«é¸æŠžã—ãŸint値を返ã—ã¾ã™ã€‚- パラメータ:
origin- 戻り値bound- è¿”ã•れる値ã®ä¸Šé™(除外)- 戻り値:
- 起点(包å«)ã¨å¢ƒç•Œ(除外)ã®é–“ã®æ“¬ä¼¼ä¹±æ•°çš„ã«é¸æŠžã—ãŸ
int値 - スãƒãƒ¼:
IllegalArgumentException-originãŒboundより大ãã„ã‹ç‰ã—ã„å ´åˆ
-
nextLong
public long nextLong(long bound) ゼãƒ(包å«)ã¨æŒ‡å®šã—ãŸå¢ƒç•Œ(除外)ã®é–“ã®æ“¬ä¼¼ä¹±æ•°çš„ã«é¸æŠžã—ãŸlong値を返ã—ã¾ã™ã€‚- パラメータ:
bound- è¿”ã•れる値ã®ä¸Šé™(除外)。 æ£ã®å€¤ã§ãªã‘れã°ãªã‚‰ãªã„- 戻り値:
- 0 (包å«)ã¨å¢ƒç•Œ(除外)ã®é–“ã®æ“¬ä¼¼ä¹±æ•°çš„ã«é¸æŠžã—ãŸ
long値 - スãƒãƒ¼:
IllegalArgumentException-boundãŒæ£ã§ãªã„å ´åˆ
-
nextLong
public long nextLong(long origin, long bound) 指定ã•れãŸèµ·ç‚¹(包å«)ã¨æŒ‡å®šã•れãŸå¢ƒç•Œ(除外)ã®é–“ã®æ“¬ä¼¼ä¹±æ•°çš„ã«é¸æŠžã—ãŸlong値を返ã—ã¾ã™ã€‚- パラメータ:
origin- 戻り値bound- è¿”ã•れる値ã®ä¸Šé™(除外)- 戻り値:
- 起点(包å«)ã¨å¢ƒç•Œ(除外)ã®é–“ã®æ“¬ä¼¼ä¹±æ•°çš„ã«é¸æŠžã—ãŸ
long値 - スãƒãƒ¼:
IllegalArgumentException-originãŒboundより大ãã„ã‹ç‰ã—ã„å ´åˆ
-
nextFloat
public float nextFloat(float bound) ゼãƒ(包å«)ã¨æŒ‡å®šã—ãŸãƒã‚¤ãƒ³ãƒ‰(除外)ã®é–“ã®æ“¬ä¼¼ä¹±æ•°çš„ã«é¸æŠžã—ãŸfloat値を返ã—ã¾ã™ã€‚- 実装上ã®ãƒŽãƒ¼ãƒˆ:
- パラメータ:
bound- è¿”ã•れる値ã®ä¸Šé™(除外)。 æ£ãŠã‚ˆã³æœ‰é™ã§ã‚ã‚‹å¿…è¦ãŒã‚りã¾ã™- 戻り値:
- 0 (包å«)ã¨ãƒã‚¤ãƒ³ãƒ‰ã•れãŸ(除外)ã®é–“ã®æ“¬ä¼¼ä¹±æ•°çš„ã«é¸æŠžã—ãŸ
float値 - スãƒãƒ¼:
IllegalArgumentException-boundãŒæ£ã¨æœ‰é™ã®ä¸¡æ–¹ã§ãªã„å ´åˆ- å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
- 17
-
nextFloat
public float nextFloat(float origin, float bound) 指定ã•れãŸèµ·ç‚¹(包å«)ã¨æŒ‡å®šã•れãŸå¢ƒç•Œ(除外)ã®é–“ã®æ“¬ä¼¼ä¹±æ•°çš„ã«é¸æŠžã—ãŸfloat値を返ã—ã¾ã™ã€‚- 実装上ã®ãƒŽãƒ¼ãƒˆ:
- パラメータ:
origin- 戻り値bound- 上é™(å«ã¾ãªã„)- 戻り値:
- 起点(包å«)ã¨å¢ƒç•Œ(除外)ã®é–“ã®æ“¬ä¼¼ä¹±æ•°çš„ã«é¸æŠžã—ãŸ
float値 - スãƒãƒ¼:
IllegalArgumentException-originãŒæœ‰é™ã§ãªã„å ´åˆã€ã¾ãŸã¯boundãŒæœ‰é™ã§ãªã„å ´åˆã€ã¾ãŸã¯originãŒbound以上ã§ã‚ã‚‹å ´åˆ- å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
- 17
-
nextDouble
public double nextDouble(double bound) ゼãƒ(包å«)ã¨æŒ‡å®šã—ãŸå¢ƒç•Œ(除外)ã®é–“ã®æ“¬ä¼¼ä¹±æ•°çš„ã«é¸æŠžã—ãŸdouble値を返ã—ã¾ã™ã€‚- 実装上ã®ãƒŽãƒ¼ãƒˆ:
- パラメータ:
bound- è¿”ã•れる値ã®ä¸Šé™(除外)。 æ£ãŠã‚ˆã³æœ‰é™ã§ã‚ã‚‹å¿…è¦ãŒã‚りã¾ã™- 戻り値:
- 0 (包å«)ã¨å¢ƒç•Œ(除外)ã®é–“ã®æ“¬ä¼¼ä¹±æ•°çš„ã«é¸æŠžã—ãŸ
double値 - スãƒãƒ¼:
IllegalArgumentException-boundãŒæ£ã¨æœ‰é™ã®ä¸¡æ–¹ã§ãªã„å ´åˆ
-
nextDouble
public double nextDouble(double origin, double bound) 指定ã•れãŸèµ·ç‚¹(包å«)ã¨æŒ‡å®šã•れãŸå¢ƒç•Œ(除外)ã®é–“ã®æ“¬ä¼¼ä¹±æ•°çš„ã«é¸æŠžã—ãŸdouble値を返ã—ã¾ã™ã€‚- 実装上ã®ãƒŽãƒ¼ãƒˆ:
- パラメータ:
origin- 戻り値bound- è¿”ã•れる値ã®ä¸Šé™(除外)- 戻り値:
- 起点(包å«)ã¨å¢ƒç•Œ(除外)ã®é–“ã®æ“¬ä¼¼ä¹±æ•°çš„ã«é¸æŠžã—ãŸ
double値 - スãƒãƒ¼:
IllegalArgumentException-originãŒæœ‰é™ã§ãªã„å ´åˆã€ã¾ãŸã¯boundãŒæœ‰é™ã§ãªã„å ´åˆã€ã¾ãŸã¯originãŒbound以上ã§ã‚ã‚‹å ´åˆ
-
ints
public IntStream ints(long streamSize) 擬似乱数intå€¤ã‚’ã€æŒ‡å®šã•れãŸstreamSizeæ•°ã ã‘生æˆã™ã‚‹ã‚¹ãƒˆãƒªãƒ¼ãƒ ã‚’è¿”ã—ã¾ã™ã€‚メソッド
Random.nextInt()をコールã—ãŸçµæžœã¨ã—ã¦ã€æ“¬ä¼¼ä¹±æ•°int値ãŒç”Ÿæˆã•れã¾ã™ã€‚- 定義:
- インタフェース
RandomGenerator内ã®ints - オーãƒãƒ¼ãƒ©ã‚¤ãƒ‰:
intsã€ã‚¯ãƒ©ã‚¹Random- パラメータ:
streamSize- 生æˆã™ã‚‹å€¤ã®æ•°- 戻り値:
- 擬似乱数
int値ã®ã‚¹ãƒˆãƒªãƒ¼ãƒ - スãƒãƒ¼:
IllegalArgumentException-streamSizeãŒ0未満ã®å ´åˆ- å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
- 1.8
-
ints
public IntStream ints()擬似乱数int値をå«ã‚€ã€äº‹å®Ÿä¸Šç„¡åˆ¶é™ã®ã‚¹ãƒˆãƒªãƒ¼ãƒ ã‚’è¿”ã—ã¾ã™ã€‚メソッド
Random.nextInt()をコールã—ãŸçµæžœã¨ã—ã¦ã€æ“¬ä¼¼ä¹±æ•°int値ãŒç”Ÿæˆã•れã¾ã™ã€‚- 定義:
- インタフェース
RandomGenerator内ã®ints - オーãƒãƒ¼ãƒ©ã‚¤ãƒ‰:
intsã€ã‚¯ãƒ©ã‚¹Random- 実装上ã®ãƒŽãƒ¼ãƒˆ:
- ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€
ints(Long.MAX_VALUE)ã¨åŒç‰ã§ã‚るよã†ã«å®Ÿè£…ã•れã¾ã™ã€‚ - 戻り値:
- 擬似乱数
int値ã®ã‚¹ãƒˆãƒªãƒ¼ãƒ - å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
- 1.8
-
ints
public IntStream ints(long streamSize, int randomNumberOrigin, int randomNumberBound) 指定ã•れãŸèµ·ç‚¹(å«ã‚€)ã¨å¢ƒç•Œ(å«ã¾ãªã„)ã«æº–æ‹ ã—ãŸæ“¬ä¼¼ä¹±æ•°intå€¤ã‚’ã€æŒ‡å®šã•れãŸstreamSizeæ•°ã ã‘生æˆã™ã‚‹ã‚¹ãƒˆãƒªãƒ¼ãƒ ã‚’è¿”ã—ã¾ã™ã€‚起点ã¨å¢ƒç•Œã‚’指定ã—ãŸæ¬¡ã®ãƒ¡ã‚½ãƒƒãƒ‰å‘¼ã³å‡ºã—ã®çµæžœã¨åŒæ§˜ã«ã€æ“¬ä¼¼ä¹±æ•°
int値ãŒç”Ÿæˆã•れã¾ã™ã€‚int nextInt(int origin, int bound) { int n = bound - origin; if (n > 0) { return nextInt(n) + origin; } else { // range not representable as int int r; do { r = nextInt(); } while (r < origin || r >= bound); return r; } }- 定義:
- インタフェース
RandomGenerator内ã®ints - オーãƒãƒ¼ãƒ©ã‚¤ãƒ‰:
intsã€ã‚¯ãƒ©ã‚¹Random- パラメータ:
streamSize- 生æˆã™ã‚‹å€¤ã®æ•°randomNumberOrigin- å„乱数値ã®èµ·ç‚¹(å«ã‚€)randomNumberBound- å„乱数値ã®å¢ƒç•Œ(å«ã¾ãªã„)- 戻り値:
- ãれãžã‚Œèµ·ç‚¹(å«ã‚€)ã¨å¢ƒç•Œ(å«ã¾ãªã„)ãŒæŒ‡å®šã•れãŸã€æ“¬ä¼¼ä¹±æ•°
int値ã®ã‚¹ãƒˆãƒªãƒ¼ãƒ - スãƒãƒ¼:
IllegalArgumentException-streamSizeãŒ0未満ã®å ´åˆã€ã¾ãŸã¯randomNumberOriginãŒrandomNumberBound以上ã®å ´åˆ- å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
- 1.8
-
ints
public IntStream ints(int randomNumberOrigin, int randomNumberBound) 指定ã•れãŸèµ·ç‚¹(å«ã‚€)ã¨å¢ƒç•Œ(å«ã¾ãªã„)ã«æº–æ‹ ã—ãŸæ“¬ä¼¼ä¹±æ•°int値をå«ã‚€ã€äº‹å®Ÿä¸Šç„¡åˆ¶é™ã®ã‚¹ãƒˆãƒªãƒ¼ãƒ ã‚’è¿”ã—ã¾ã™ã€‚起点ã¨å¢ƒç•Œã‚’指定ã—ãŸæ¬¡ã®ãƒ¡ã‚½ãƒƒãƒ‰å‘¼ã³å‡ºã—ã®çµæžœã¨åŒæ§˜ã«ã€æ“¬ä¼¼ä¹±æ•°
int値ãŒç”Ÿæˆã•れã¾ã™ã€‚int nextInt(int origin, int bound) { int n = bound - origin; if (n > 0) { return nextInt(n) + origin; } else { // range not representable as int int r; do { r = nextInt(); } while (r < origin || r >= bound); return r; } }- 定義:
- インタフェース
RandomGenerator内ã®ints - オーãƒãƒ¼ãƒ©ã‚¤ãƒ‰:
intsã€ã‚¯ãƒ©ã‚¹Random- 実装上ã®ãƒŽãƒ¼ãƒˆ:
- ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€
ints(Long.MAX_VALUE, randomNumberOrigin, randomNumberBound)ã¨åŒç‰ã§ã‚るよã†ã«å®Ÿè£…ã•れã¾ã™ã€‚ - パラメータ:
randomNumberOrigin- å„乱数値ã®èµ·ç‚¹(å«ã‚€)randomNumberBound- å„乱数値ã®å¢ƒç•Œ(å«ã¾ãªã„)- 戻り値:
- ãれãžã‚Œèµ·ç‚¹(å«ã‚€)ã¨å¢ƒç•Œ(å«ã¾ãªã„)ãŒæŒ‡å®šã•れãŸã€æ“¬ä¼¼ä¹±æ•°
int値ã®ã‚¹ãƒˆãƒªãƒ¼ãƒ - スãƒãƒ¼:
IllegalArgumentException-randomNumberOriginãŒrandomNumberBound以上ã®å ´åˆ- å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
- 1.8
-
longs
public LongStream longs(long streamSize) 擬似乱数longå€¤ã‚’ã€æŒ‡å®šã•れãŸstreamSizeæ•°ã ã‘生æˆã™ã‚‹ã‚¹ãƒˆãƒªãƒ¼ãƒ ã‚’è¿”ã—ã¾ã™ã€‚メソッド
Random.nextLong()をコールã—ãŸçµæžœã¨ã—ã¦ã€æ“¬ä¼¼ä¹±æ•°long値ãŒç”Ÿæˆã•れã¾ã™ã€‚- 定義:
- インタフェース
RandomGenerator内ã®longs - オーãƒãƒ¼ãƒ©ã‚¤ãƒ‰:
longsã€ã‚¯ãƒ©ã‚¹Random- パラメータ:
streamSize- 生æˆã™ã‚‹å€¤ã®æ•°- 戻り値:
- 擬似乱数
long値ã®ã‚¹ãƒˆãƒªãƒ¼ãƒ - スãƒãƒ¼:
IllegalArgumentException-streamSizeãŒ0未満ã®å ´åˆ- å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
- 1.8
-
longs
public LongStream longs()擬似乱数long値をå«ã‚€ã€äº‹å®Ÿä¸Šç„¡åˆ¶é™ã®ã‚¹ãƒˆãƒªãƒ¼ãƒ ã‚’è¿”ã—ã¾ã™ã€‚メソッド
Random.nextLong()をコールã—ãŸçµæžœã¨ã—ã¦ã€æ“¬ä¼¼ä¹±æ•°long値ãŒç”Ÿæˆã•れã¾ã™ã€‚- 定義:
- インタフェース
RandomGenerator内ã®longs - オーãƒãƒ¼ãƒ©ã‚¤ãƒ‰:
longsã€ã‚¯ãƒ©ã‚¹Random- 実装上ã®ãƒŽãƒ¼ãƒˆ:
- ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€
longs(Long.MAX_VALUE)ã¨åŒç‰ã§ã‚るよã†ã«å®Ÿè£…ã•れã¾ã™ã€‚ - 戻り値:
- 擬似乱数
long値ã®ã‚¹ãƒˆãƒªãƒ¼ãƒ - å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
- 1.8
-
longs
public LongStream longs(long streamSize, long randomNumberOrigin, long randomNumberBound) 指定ã•れãŸèµ·ç‚¹(å«ã‚€)ã¨å¢ƒç•Œ(å«ã¾ãªã„)ã«æº–æ‹ ã—ãŸæ“¬ä¼¼ä¹±æ•°longã‚’ã€æŒ‡å®šã•れãŸstreamSizeæ•°ã ã‘生æˆã™ã‚‹ã‚¹ãƒˆãƒªãƒ¼ãƒ ã‚’è¿”ã—ã¾ã™ã€‚起点ã¨å¢ƒç•Œã‚’指定ã—ãŸæ¬¡ã®ãƒ¡ã‚½ãƒƒãƒ‰å‘¼ã³å‡ºã—ã®çµæžœã¨åŒæ§˜ã«ã€æ“¬ä¼¼ä¹±æ•°
long値ãŒç”Ÿæˆã•れã¾ã™ã€‚long nextLong(long origin, long bound) { long r = nextLong(); long n = bound - origin, m = n - 1; if ((n & m) == 0L) // power of two r = (r & m) + origin; else if (n > 0L) { // reject over-represented candidates for (long u = r >>> 1; // ensure nonnegative u + m - (r = u % n) < 0L; // rejection check u = nextLong() >>> 1) // retry ; r += origin; } else { // range not representable as long while (r < origin || r >= bound) r = nextLong(); } return r; }- 定義:
- インタフェース
RandomGenerator内ã®longs - オーãƒãƒ¼ãƒ©ã‚¤ãƒ‰:
longsã€ã‚¯ãƒ©ã‚¹Random- パラメータ:
streamSize- 生æˆã™ã‚‹å€¤ã®æ•°randomNumberOrigin- å„乱数値ã®èµ·ç‚¹(å«ã‚€)randomNumberBound- å„乱数値ã®å¢ƒç•Œ(å«ã¾ãªã„)- 戻り値:
- ãれãžã‚Œèµ·ç‚¹(å«ã‚€)ã¨å¢ƒç•Œ(å«ã¾ãªã„)ãŒæŒ‡å®šã•れãŸã€æ“¬ä¼¼ä¹±æ•°
long値ã®ã‚¹ãƒˆãƒªãƒ¼ãƒ - スãƒãƒ¼:
IllegalArgumentException-streamSizeãŒ0未満ã®å ´åˆã€ã¾ãŸã¯randomNumberOriginãŒrandomNumberBound以上ã®å ´åˆ- å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
- 1.8
-
longs
public LongStream longs(long randomNumberOrigin, long randomNumberBound) 指定ã•れãŸèµ·ç‚¹(å«ã‚€)ã¨å¢ƒç•Œ(å«ã¾ãªã„)ã«æº–æ‹ ã—ãŸæ“¬ä¼¼ä¹±æ•°long値をå«ã‚€ã€äº‹å®Ÿä¸Šç„¡åˆ¶é™ã®ã‚¹ãƒˆãƒªãƒ¼ãƒ ã‚’è¿”ã—ã¾ã™ã€‚起点ã¨å¢ƒç•Œã‚’指定ã—ãŸæ¬¡ã®ãƒ¡ã‚½ãƒƒãƒ‰å‘¼ã³å‡ºã—ã®çµæžœã¨åŒæ§˜ã«ã€æ“¬ä¼¼ä¹±æ•°
long値ãŒç”Ÿæˆã•れã¾ã™ã€‚long nextLong(long origin, long bound) { long r = nextLong(); long n = bound - origin, m = n - 1; if ((n & m) == 0L) // power of two r = (r & m) + origin; else if (n > 0L) { // reject over-represented candidates for (long u = r >>> 1; // ensure nonnegative u + m - (r = u % n) < 0L; // rejection check u = nextLong() >>> 1) // retry ; r += origin; } else { // range not representable as long while (r < origin || r >= bound) r = nextLong(); } return r; }- 定義:
- インタフェース
RandomGenerator内ã®longs - オーãƒãƒ¼ãƒ©ã‚¤ãƒ‰:
longsã€ã‚¯ãƒ©ã‚¹Random- 実装上ã®ãƒŽãƒ¼ãƒˆ:
- ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€
longs(Long.MAX_VALUE, randomNumberOrigin, randomNumberBound)ã¨åŒç‰ã§ã‚るよã†ã«å®Ÿè£…ã•れã¾ã™ã€‚ - パラメータ:
randomNumberOrigin- å„乱数値ã®èµ·ç‚¹(å«ã‚€)randomNumberBound- å„乱数値ã®å¢ƒç•Œ(å«ã¾ãªã„)- 戻り値:
- ãれãžã‚Œèµ·ç‚¹(å«ã‚€)ã¨å¢ƒç•Œ(å«ã¾ãªã„)ãŒæŒ‡å®šã•れãŸã€æ“¬ä¼¼ä¹±æ•°
long値ã®ã‚¹ãƒˆãƒªãƒ¼ãƒ - スãƒãƒ¼:
IllegalArgumentException-randomNumberOriginãŒrandomNumberBound以上ã®å ´åˆ- å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
- 1.8
-
doubles
public DoubleStream doubles(long streamSize) 0(å«ã‚€)ã‹ã‚‰1(å«ã¾ãªã„)ã¾ã§ã®æ“¬ä¼¼ä¹±æ•°doubleå€¤ã‚’ã€æŒ‡å®šã•れãŸstreamSizeæ•°ã ã‘生æˆã™ã‚‹ã‚¹ãƒˆãƒªãƒ¼ãƒ ã‚’è¿”ã—ã¾ã™ã€‚メソッド
Random.nextDouble()をコールã—ãŸçµæžœã¨ã—ã¦ã€æ“¬ä¼¼ä¹±æ•°double値ãŒç”Ÿæˆã•れã¾ã™ã€‚- 定義:
- インタフェース
RandomGenerator内ã®doubles - オーãƒãƒ¼ãƒ©ã‚¤ãƒ‰:
doublesã€ã‚¯ãƒ©ã‚¹Random- パラメータ:
streamSize- 生æˆã™ã‚‹å€¤ã®æ•°- 戻り値:
double値ã®ã‚¹ãƒˆãƒªãƒ¼ãƒ- スãƒãƒ¼:
IllegalArgumentException-streamSizeãŒ0未満ã®å ´åˆ- å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
- 1.8
-
doubles
public DoubleStream doubles()0(å«ã‚€)ã‹ã‚‰1(å«ã¾ãªã„)ã¾ã§ã®æ“¬ä¼¼ä¹±æ•°double値をå«ã‚€ã€äº‹å®Ÿä¸Šç„¡åˆ¶é™ã®ã‚¹ãƒˆãƒªãƒ¼ãƒ ã‚’è¿”ã—ã¾ã™ã€‚メソッド
Random.nextDouble()をコールã—ãŸçµæžœã¨ã—ã¦ã€æ“¬ä¼¼ä¹±æ•°double値ãŒç”Ÿæˆã•れã¾ã™ã€‚- 定義:
- インタフェース
RandomGenerator内ã®doubles - オーãƒãƒ¼ãƒ©ã‚¤ãƒ‰:
doublesã€ã‚¯ãƒ©ã‚¹Random- 実装上ã®ãƒŽãƒ¼ãƒˆ:
- ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€
doubles(Long.MAX_VALUE)ã¨åŒç‰ã§ã‚るよã†ã«å®Ÿè£…ã•れã¾ã™ã€‚ - 戻り値:
- 擬似乱数
double値ã®ã‚¹ãƒˆãƒªãƒ¼ãƒ - å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
- 1.8
-
doubles
public DoubleStream doubles(long streamSize, double randomNumberOrigin, double randomNumberBound) 指定ã•れãŸèµ·ç‚¹(å«ã‚€)ã¨å¢ƒç•Œ(å«ã¾ãªã„)ã«æº–æ‹ ã—ãŸæ“¬ä¼¼ä¹±æ•°doubleå€¤ã‚’ã€æŒ‡å®šã•れãŸstreamSizeæ•°ã ã‘生æˆã™ã‚‹ã‚¹ãƒˆãƒªãƒ¼ãƒ ã‚’è¿”ã—ã¾ã™ã€‚- 定義:
- インタフェース
RandomGenerator内ã®doubles - オーãƒãƒ¼ãƒ©ã‚¤ãƒ‰:
doublesã€ã‚¯ãƒ©ã‚¹Random- パラメータ:
streamSize- 生æˆã™ã‚‹å€¤ã®æ•°randomNumberOrigin- å„乱数値ã®èµ·ç‚¹(å«ã‚€)randomNumberBound- å„乱数値ã®å¢ƒç•Œ(å«ã¾ãªã„)- 戻り値:
- ãれãžã‚Œèµ·ç‚¹(å«ã‚€)ã¨é™ç•Œ(å«ã¾ãªã„)ãŒæŒ‡å®šã•れãŸã€æ“¬ä¼¼ä¹±æ•°
double値ã®ã‚¹ãƒˆãƒªãƒ¼ãƒ - スãƒãƒ¼:
IllegalArgumentException-streamSizeãŒã‚¼ãƒæœªæº€ã¾ãŸã¯randomNumberOriginãŒæœ‰é™ã§ãªã„å ´åˆã€ã¾ãŸã¯randomNumberBoundãŒæœ‰é™ã§ãªã„å ´åˆã€ã¾ãŸã¯randomNumberOriginãŒrandomNumberBound以上ã§ã‚ã‚‹å ´åˆ- å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
- 1.8
-
doubles
public DoubleStream doubles(double randomNumberOrigin, double randomNumberBound) 指定ã•れãŸèµ·ç‚¹(å«ã‚€)ã¨å¢ƒç•Œ(å«ã¾ãªã„)ã«æº–æ‹ ã—ãŸæ“¬ä¼¼ä¹±æ•°double値をå«ã‚€ã€äº‹å®Ÿä¸Šç„¡åˆ¶é™ã®ã‚¹ãƒˆãƒªãƒ¼ãƒ ã‚’è¿”ã—ã¾ã™ã€‚- 定義:
- インタフェース
RandomGenerator内ã®doubles - オーãƒãƒ¼ãƒ©ã‚¤ãƒ‰:
doublesã€ã‚¯ãƒ©ã‚¹Random- 実装上ã®ãƒŽãƒ¼ãƒˆ:
- ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€
doubles(Long.MAX_VALUE, randomNumberOrigin, randomNumberBound)ã¨åŒç‰ã§ã‚るよã†ã«å®Ÿè£…ã•れã¾ã™ã€‚ - パラメータ:
randomNumberOrigin- å„乱数値ã®èµ·ç‚¹(å«ã‚€)randomNumberBound- å„乱数値ã®å¢ƒç•Œ(å«ã¾ãªã„)- 戻り値:
- ãれãžã‚Œèµ·ç‚¹(å«ã‚€)ã¨é™ç•Œ(å«ã¾ãªã„)ãŒæŒ‡å®šã•れãŸã€æ“¬ä¼¼ä¹±æ•°
double値ã®ã‚¹ãƒˆãƒªãƒ¼ãƒ - スãƒãƒ¼:
IllegalArgumentException-randomNumberOriginãŒæœ‰é™ã§ãªã„å ´åˆã€ã¾ãŸã¯randomNumberBoundãŒæœ‰é™ã§ãªã„å ´åˆã€ã¾ãŸã¯randomNumberOriginãŒrandomNumberBound以上ã§ã‚ã‚‹å ´åˆ- å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
- 1.8
-