クラスThreadLocalRandom

java.lang.Object
java.util.Random
java.util.concurrent.ThreadLocalRandom
ã™ã¹ã¦ã®å®Ÿè£…ã•れãŸã‚¤ãƒ³ã‚¿ãƒ•ェース:
Serializable, RandomGenerator

public final class ThreadLocalRandom extends Random
ç¾åœ¨ã®ã‚¹ãƒ¬ãƒƒãƒ‰ã«åˆ†é›¢ã•れãŸä¹±æ•°ã‚¸ã‚§ãƒãƒ¬ãƒ¼ã‚¿(期間264)。 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
  • メソッドã®ã‚µãƒžãƒªãƒ¼

    修飾å­ã¨åž‹
    メソッド
    説明
    ç¾åœ¨ã®ã‚¹ãƒ¬ãƒƒãƒ‰ThreadLocalRandomオブジェクトを返ã—ã¾ã™ã€‚
    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æ•°ã ã‘生æˆã™ã‚‹ã‚¹ãƒˆãƒªãƒ¼ãƒ ã‚’è¿”ã—ã¾ã™ã€‚
    擬似乱数int値をå«ã‚€ã€äº‹å®Ÿä¸Šç„¡åˆ¶é™ã®ã‚¹ãƒˆãƒªãƒ¼ãƒ ã‚’è¿”ã—ã¾ã™ã€‚
    ints(int randomNumberOrigin, int randomNumberBound)
    指定ã•れãŸèµ·ç‚¹(å«ã‚€)ã¨å¢ƒç•Œ(å«ã¾ãªã„)ã«æº–æ‹ ã—ãŸæ“¬ä¼¼ä¹±æ•° int値をå«ã‚€ã€äº‹å®Ÿä¸Šç„¡åˆ¶é™ã®ã‚¹ãƒˆãƒªãƒ¼ãƒ ã‚’è¿”ã—ã¾ã™ã€‚
    ints(long streamSize)
    擬似乱数intå€¤ã‚’ã€æŒ‡å®šã•れãŸstreamSizeæ•°ã ã‘生æˆã™ã‚‹ã‚¹ãƒˆãƒªãƒ¼ãƒ ã‚’è¿”ã—ã¾ã™ã€‚
    ints(long streamSize, int randomNumberOrigin, int randomNumberBound)
    指定ã•れãŸèµ·ç‚¹(å«ã‚€)ã¨å¢ƒç•Œ(å«ã¾ãªã„)ã«æº–æ‹ ã—ãŸæ“¬ä¼¼ä¹±æ•°intå€¤ã‚’ã€æŒ‡å®šã•れãŸstreamSizeæ•°ã ã‘生æˆã™ã‚‹ã‚¹ãƒˆãƒªãƒ¼ãƒ ã‚’è¿”ã—ã¾ã™ã€‚
    擬似乱数long値をå«ã‚€ã€äº‹å®Ÿä¸Šç„¡åˆ¶é™ã®ã‚¹ãƒˆãƒªãƒ¼ãƒ ã‚’è¿”ã—ã¾ã™ã€‚
    longs(long streamSize)
    擬似乱数longå€¤ã‚’ã€æŒ‡å®šã•れãŸstreamSizeæ•°ã ã‘生æˆã™ã‚‹ã‚¹ãƒˆãƒªãƒ¼ãƒ ã‚’è¿”ã—ã¾ã™ã€‚
    longs(long randomNumberOrigin, long randomNumberBound)
    指定ã•れãŸèµ·ç‚¹(å«ã‚€)ã¨å¢ƒç•Œ(å«ã¾ãªã„)ã«æº–æ‹ ã—ãŸæ“¬ä¼¼ä¹±æ•° long値をå«ã‚€ã€äº‹å®Ÿä¸Šç„¡åˆ¶é™ã®ã‚¹ãƒˆãƒªãƒ¼ãƒ ã‚’è¿”ã—ã¾ã™ã€‚
    longs(long streamSize, long randomNumberOrigin, long randomNumberBound)
    指定ã•れãŸèµ·ç‚¹(å«ã‚€)ã¨å¢ƒç•Œ(å«ã¾ãªã„)ã«æº–æ‹ ã—ãŸæ“¬ä¼¼ä¹±æ•°longã‚’ã€æŒ‡å®šã•れãŸstreamSizeæ•°ã ã‘生æˆã™ã‚‹ã‚¹ãƒˆãƒªãƒ¼ãƒ ã‚’è¿”ã—ã¾ã™ã€‚
    protected int
    next(int bits)
    指定ã•れãŸä¸‹ä½ãƒ“ット数ã®ç–‘似乱数を生æˆã—ã¾ã™ã€‚
    double
    nextDouble(double bound)
    ゼロ(包å«)ã¨æŒ‡å®šã—ãŸå¢ƒç•Œ(除外)ã®é–“ã®æ“¬ä¼¼ä¹±æ•°çš„ã«é¸æŠžã—ãŸdouble値を返ã—ã¾ã™ã€‚
    double
    nextDouble(double origin, double bound)
    指定ã•れãŸèµ·ç‚¹(包å«)ã¨æŒ‡å®šã•れãŸå¢ƒç•Œ(除外)ã®é–“ã®æ“¬ä¼¼ä¹±æ•°çš„ã«é¸æŠžã—ãŸdouble値を返ã—ã¾ã™ã€‚
    float
    nextFloat(float bound)
    ゼロ(包å«)ã¨æŒ‡å®šã—ãŸãƒã‚¤ãƒ³ãƒ‰(除外)ã®é–“ã®æ“¬ä¼¼ä¹±æ•°çš„ã«é¸æŠžã—ãŸfloat値を返ã—ã¾ã™ã€‚
    float
    nextFloat(float origin, float bound)
    指定ã•れãŸèµ·ç‚¹(包å«)ã¨æŒ‡å®šã•れãŸå¢ƒç•Œ(除外)ã®é–“ã®æ“¬ä¼¼ä¹±æ•°çš„ã«é¸æŠžã—ãŸfloat値を返ã—ã¾ã™ã€‚
    int
    nextInt(int bound)
    ã“ã®ä¹±æ•°ã‚¸ã‚§ãƒãƒ¬ãƒ¼ã‚¿ã®ã‚·ãƒ¼ã‚±ãƒ³ã‚¹ã‚’使ã£ã¦ã€0ã‹ã‚‰æŒ‡å®šã•れãŸå€¤ã®ç¯„囲(0ã¯å«ã‚€ãŒã€ãã®æŒ‡å®šã•れãŸå€¤ã¯å«ã¾ãªã„)ã§ä¸€æ§˜åˆ†å¸ƒã®intåž‹ã®æ“¬ä¼¼ä¹±æ•°å€¤ã‚’è¿”ã—ã¾ã™ã€‚
    int
    nextInt(int origin, int bound)
    指定ã•れãŸèµ·ç‚¹(包å«)ã¨æŒ‡å®šã•れãŸå¢ƒç•Œ(除外)ã®é–“ã®æ“¬ä¼¼ä¹±æ•°çš„ã«é¸æŠžã—ãŸint値を返ã—ã¾ã™ã€‚
    long
    nextLong(long bound)
    ゼロ(包å«)ã¨æŒ‡å®šã—ãŸå¢ƒç•Œ(除外)ã®é–“ã®æ“¬ä¼¼ä¹±æ•°çš„ã«é¸æŠžã—ãŸlong値を返ã—ã¾ã™ã€‚
    long
    nextLong(long origin, long bound)
    指定ã•れãŸèµ·ç‚¹(包å«)ã¨æŒ‡å®šã•れãŸå¢ƒç•Œ(除外)ã®é–“ã®æ“¬ä¼¼ä¹±æ•°çš„ã«é¸æŠžã—ãŸlong値を返ã—ã¾ã™ã€‚
    void
    setSeed(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)
      指定ã•れãŸä¸‹ä½ãƒ“ット数ã®ç–‘似乱数を生æˆã—ã¾ã™ã€‚ ã“ã®ã‚¯ãƒ©ã‚¹ã«ã¯ã‚µãƒ–クラスãŒãªã„ãŸã‚ã€ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’èµ·å‹•ã¾ãŸã¯ã‚ªãƒ¼ãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã§ãã¾ã›ã‚“。
      オーãƒãƒ¼ãƒ©ã‚¤ãƒ‰:
      nextã€ã‚¯ãƒ©ã‚¹Random
      パラメータ:
      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