新聞中心
SplittableRandom

成都創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括藁城網(wǎng)站建設(shè)、藁城網(wǎng)站制作、藁城網(wǎng)頁(yè)制作以及藁城網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,藁城網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到藁城省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
java.lang.Object
|---java.util.SplittableRandom
public final class SplittableRandom
extends Object適用于(在其他上下文中)可能生成子任務(wù)的隔離并行計(jì)算的統(tǒng)一偽隨機(jī)值生成器。 SplittableRandom 類支持產(chǎn)生 int、long 和 double 類型的偽隨機(jī)數(shù)的方法,其用法與類 Random 類似,但在以下方面有所不同:
- 一系列生成的值通過(guò)了 DieHarder 套件測(cè)試隨機(jī)數(shù)生成器的獨(dú)立性和一致性屬性。 (最近使用版本 3.31.1 進(jìn)行了驗(yàn)證。)這些測(cè)試僅驗(yàn)證某些類型和范圍的方法,但預(yù)計(jì)類似的屬性也至少大致適用于其他屬性。周期(任何一系列生成值在重復(fù)之前的長(zhǎng)度)至少為 264。
- 方法 split() 構(gòu)造并返回一個(gè)新的 SplittableRandom 實(shí)例,該實(shí)例與當(dāng)前實(shí)例不共享可變狀態(tài)。但是,兩個(gè)對(duì)象共同生成的值很有可能具有相同的統(tǒng)計(jì)屬性,就好像單個(gè)線程使用單個(gè) SplittableRandom 對(duì)象生成相同數(shù)量的值一樣。
- SplittableRandom 的實(shí)例不是線程安全的。它們被設(shè)計(jì)為跨線程拆分而不是共享。例如,使用隨機(jī)數(shù)的 fork/join 式計(jì)算可能包括 new Subtask(aSplittableRandom.split()).fork() 形式的構(gòu)造。
- 此類提供用于生成隨機(jī)流的附加方法,在 stream.parallel() 模式下使用時(shí)采用上述技術(shù)。
SplittableRandom 的實(shí)例在密碼學(xué)上不是安全的。 考慮在安全敏感的應(yīng)用程序中使用 SecureRandom。 此外,默認(rèn)構(gòu)造的實(shí)例不使用加密隨機(jī)種子,除非 System#getProperty java.util.secureRandomSeed 設(shè)置為 true。
構(gòu)造函數(shù)摘要
| 構(gòu)造函數(shù) | 描述 |
|---|---|
| SplittableRandom() | 創(chuàng)建一個(gè)新的 SplittableRandom 實(shí)例,該實(shí)例可能生成在統(tǒng)計(jì)上獨(dú)立于當(dāng)前程序中任何其他實(shí)例的值序列; 并且可能并且通常確實(shí)會(huì)因程序調(diào)用而異。 |
| SplittableRandom(long seed) | 使用指定的初始種子創(chuàng)建一個(gè)新的 SplittableRandom 實(shí)例。 |
方法總結(jié)
| 修飾符和類型 | 方法 | 描述 |
|---|---|---|
| DoubleStream | doubles() | 從這個(gè)生成器和/或從它的一個(gè)拆分返回一個(gè)有效無(wú)限的偽隨機(jī)雙值流; 每個(gè)值都介于零(包括)和一(不包括)之間。 |
| DoubleStream | doubles(double randomNumberOrigin, double randomNumberBound) | 從這個(gè)生成器和/或從它的一個(gè)拆分返回一個(gè)有效無(wú)限的偽隨機(jī)雙值流; 每個(gè)值都符合給定的原點(diǎn)(包括)和綁定(不包括)。 |
| DoubleStream | doubles(long streamSize) | 返回一個(gè)流,該流產(chǎn)生給定的 streamSize 數(shù)量的偽隨機(jī)雙精度值,從這個(gè)生成器和/或一個(gè)拆分; 每個(gè)值都介于零(包括)和一(不包括)之間。 |
| DoubleStream | doubles(long streamSize, double randomNumberOrigin, double randomNumberBound) | 返回一個(gè)流,該流產(chǎn)生給定的 streamSize 數(shù)量的偽隨機(jī)雙精度值,從這個(gè)生成器和/或一個(gè)拆分; 每個(gè)值都符合給定的原點(diǎn)(包括)和綁定(不包括)。 |
| IntStream | ints() | 從這個(gè)生成器和/或從它的一個(gè)拆分返回一個(gè)有效無(wú)限的偽隨機(jī) int 值流。 |
| IntStream | ints(int randomNumberOrigin, int randomNumberBound) | 從這個(gè)生成器和/或從它的一個(gè)拆分返回一個(gè)有效無(wú)限的偽隨機(jī) int 值流; 每個(gè)值都符合給定的原點(diǎn)(包括)和綁定(不包括)。 |
| IntStream | ints(long streamSize) | 返回一個(gè)流,該流產(chǎn)生給定的 streamSize 數(shù)量的偽隨機(jī) int 值,從這個(gè)生成器和/或從中拆分出來(lái)。 |
| IntStream | ints(long streamSize, int randomNumberOrigin, int randomNumberBound) | 返回一個(gè)流,該流產(chǎn)生給定的 streamSize 數(shù)量的偽隨機(jī) int 值,從這個(gè)生成器和/或從它的一個(gè)拆分; 每個(gè)值都符合給定的原點(diǎn)(包括)和綁定(不包括)。 |
| LongStream | longs() | 從這個(gè)生成器和/或從它的一個(gè)拆分返回一個(gè)有效無(wú)限的偽隨機(jī)長(zhǎng)值流。 |
| LongStream | longs(long streamSize) | 返回一個(gè)流,該流產(chǎn)生給定的 streamSize 數(shù)量的偽隨機(jī) long 值,從這個(gè)生成器和/或從它的一個(gè)拆分。 |
| LongStream | longs(long randomNumberOrigin, long randomNumberBound) | 從這個(gè)生成器和/或從它的一個(gè)拆分返回一個(gè)有效無(wú)限的偽隨機(jī)長(zhǎng)值流; 每個(gè)值都符合給定的原點(diǎn)(包括)和綁定(不包括)。 |
| LongStream | longs(long streamSize, long randomNumberOrigin, long randomNumberBound) | 返回一個(gè)流,該流產(chǎn)生給定的 streamSize 數(shù)量的偽隨機(jī)長(zhǎng)值,從這個(gè)生成器和/或從中拆分出來(lái); 每個(gè)值都符合給定的原點(diǎn)(包括)和綁定(不包括)。 |
| boolean | nextBoolean() | 返回一個(gè)偽隨機(jī)布爾值。 |
| double | nextDouble() | 返回零(包括)和一(不包括)之間的偽隨機(jī)雙精度值。 |
| double | nextDouble(double bound) | 返回介于 0.0(包括)和指定邊界(不包括)之間的偽隨機(jī)雙精度值。 |
| double | nextDouble(double origin, double bound) | 返回指定原點(diǎn)(包括)和邊界(不包括)之間的偽隨機(jī)雙精度值。 |
| int | nextInt() | 返回一個(gè)偽隨機(jī) int 值。 |
| int | nextInt(int bound) | 返回零(包括)和指定邊界(不包括)之間的偽隨機(jī) int 值。 |
| int | nextInt(int origin, int bound) | 返回指定原點(diǎn)(包括)和指定邊界(不包括)之間的偽隨機(jī) int 值。 |
| long | nextLong() | 返回一個(gè)偽隨機(jī)長(zhǎng)值。 |
| long | nextLong(long bound) | 返回零(包括)和指定邊界(不包括)之間的偽隨機(jī)長(zhǎng)值。 |
| long | nextLong(long origin, long bound) | 返回指定原點(diǎn)(包括)和指定邊界(不包括)之間的偽隨機(jī)長(zhǎng)值。 |
| SplittableRandom | split() | 構(gòu)造并返回一個(gè)新的 SplittableRandom 實(shí)例,該實(shí)例不與此實(shí)例共享可變狀態(tài)。 |
| 從類 java.lang.Object 繼承的方法 |
|---|
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
構(gòu)造函數(shù)詳細(xì)信息
SplittableRandom
public SplittableRandom(long seed)
使用指定的初始種子創(chuàng)建一個(gè)新的 SplittableRandom 實(shí)例。 在同一程序中使用相同種子創(chuàng)建的 SplittableRandom 實(shí)例會(huì)生成相同的值序列。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| seed | 最初的種子 |
SplittableRandom
public SplittableRandom()
創(chuàng)建一個(gè)新的 SplittableRandom 實(shí)例,該實(shí)例可能生成在統(tǒng)計(jì)上獨(dú)立于當(dāng)前程序中任何其他實(shí)例的值序列; 并且可能并且通常確實(shí)會(huì)因程序調(diào)用而異。
方法詳情
split
public SplittableRandom split()
構(gòu)造并返回一個(gè)新的 SplittableRandom 實(shí)例,該實(shí)例不與此實(shí)例共享可變狀態(tài)。 但是,兩個(gè)對(duì)象共同生成的值集具有非常高的概率具有相同的統(tǒng)計(jì)屬性,就好像單個(gè)線程使用單個(gè) SplittableRandom 對(duì)象生成相同數(shù)量的值一樣。 可以使用 split() 方法進(jìn)一步拆分兩個(gè)對(duì)象中的一個(gè)或兩個(gè),并且相同的預(yù)期統(tǒng)計(jì)屬性適用于通過(guò)這種遞歸拆分構(gòu)造的整個(gè)生成器集。
返回:
新的 SplittableRandom 實(shí)例
nextInt
public int nextInt()
返回一個(gè)偽隨機(jī) int 值。
返回:
一個(gè)偽隨機(jī) int 值
nextInt
public int nextInt(int bound)
返回零(包括)和指定邊界(不包括)之間的偽隨機(jī) int 值。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| bound | 上限(不包括)。 必須是積極的。 |
返回:
零(包括)和邊界(不包括)之間的偽隨機(jī) int 值
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IllegalArgumentException | 如果 bound 不是正數(shù) |
nextInt
public int nextInt(int origin, int bound)
返回指定原點(diǎn)(包括)和指定邊界(不包括)之間的偽隨機(jī) int 值。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| origin | 返回的最小值 |
| bound | 上限(不包括) |
返回:
原點(diǎn)(包括)和邊界(不包括)之間的偽隨機(jī) int 值
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IllegalArgumentException | 如果 origin 大于或等于 bound |
nextLong
public long nextLong()
返回一個(gè)偽隨機(jī)長(zhǎng)值。
返回:
偽隨機(jī)長(zhǎng)值
nextLong
public long nextLong(long bound)
返回零(包括)和指定邊界(不包括)之間的偽隨機(jī)長(zhǎng)值。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| bound | 上限(不包括)。 必須是積極的。 |
返回:
零(包括)和邊界(不包括)之間的偽隨機(jī)長(zhǎng)值
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IllegalArgumentException | 如果 bound 不是正數(shù) |
nextLong
public long nextLong(long origin, long bound)
返回指定原點(diǎn)(包括)和指定邊界(不包括)之間的偽隨機(jī)長(zhǎng)值。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| origin | 返回的最小值 |
| bound | 上限(不包括) |
返回:
原點(diǎn)(包括)和邊界(不包括)之間的偽隨機(jī)長(zhǎng)值
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IllegalArgumentException | 如果 origin 大于或等于 bound |
nextDouble
public double nextDouble()
返回零(包括)和一(不包括)之間的偽隨機(jī)雙精度值。
返回:
零(包括)和一(不包括)之間的偽隨機(jī)雙精度值
nextDouble
public double nextDouble(double bound)
返回介于 0.0(包括)和指定邊界(不包括)之間的偽隨機(jī)雙精度值。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| bound | 上限(不包括)。 必須是積極的。 |
返回:
零(包括)和邊界(不包括)之間的偽隨機(jī)雙精度值
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IllegalArgumentException | 如果 bound 不是正數(shù) |
nextDouble
public double nextDouble(double origin, double bound)
返回指定原點(diǎn)(包括)和邊界(不包括)之間的偽隨機(jī)雙精度值。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| origin | 返回的最小值 |
| bound | 上限(不包括) |
返回:
原點(diǎn)(包括)和邊界(不包括)之間的偽隨機(jī)雙精度值
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IllegalArgumentException | 如果 origin 大于或等于 bound |
nextBoolean
public boolean nextBoolean()
返回一個(gè)偽隨機(jī)布爾值。
返回:
一個(gè)偽隨機(jī)布爾值
ints
public IntStream ints(long streamSize)
返回一個(gè)流,該流產(chǎn)生給定的 streamSize 數(shù)量的偽隨機(jī) int 值,從這個(gè)生成器和/或從中拆分出來(lái)。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| streamSize | 要生成的值的數(shù)量 |
返回:
偽隨機(jī) int 值流
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IllegalArgumentException | 如果 streamSize 小于零 |
ints
public IntStream ints()
從這個(gè)生成器和/或從它的一個(gè)拆分返回一個(gè)有效無(wú)限的偽隨機(jī) int 值流。
返回:
偽隨機(jī) int 值流
ints
public IntStream ints(long streamSize, int randomNumberOrigin, int randomNumberBound)
返回一個(gè)流,該流產(chǎn)生給定的 streamSize 數(shù)量的偽隨機(jī) int 值,從這個(gè)生成器和/或從它的一個(gè)拆分; 每個(gè)值都符合給定的原點(diǎn)(包括)和綁定(不包括)。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| streamSize | 要生成的值的數(shù)量 |
| randomNumberOrigin | 每個(gè)隨機(jī)值的原點(diǎn)(包括) |
| randomNumberBound | 每個(gè)隨機(jī)值的界限(不包括) |
返回:
一個(gè)偽隨機(jī) int 值流,每個(gè)值都具有給定的原點(diǎn)(包括)和邊界(不包括)
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IllegalArgumentException | 如果 streamSize 小于零,或者 randomNumberOrigin 大于或等于 randomNumberBound |
ints
public IntStream ints(int randomNumberOrigin, int randomNumberBound)
從這個(gè)生成器和/或從它的一個(gè)拆分返回一個(gè)有效無(wú)限的偽隨機(jī) int 值流; 每個(gè)值都符合給定的原點(diǎn)(包括)和綁定(不包括)。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| randomNumberOrigin | 每個(gè)隨機(jī)值的原點(diǎn)(包括) |
| randomNumberBound | 每個(gè)隨機(jī)值的界限(不包括) |
返回:
一個(gè)偽隨機(jī) int 值流,每個(gè)值都具有給定的原點(diǎn)(包括)和邊界(不包括)
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IllegalArgumentException | 如果 randomNumberOrigin 大于或等于 randomNumberBound |
longs
public LongStream longs(long streamSize)
返回一個(gè)流,該流產(chǎn)生給定的 streamSize 數(shù)量的偽隨機(jī) long 值,從這個(gè)生成器和/或從它的一個(gè)拆分。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| streamSize | 要生成的值的數(shù)量 |
返回:
偽隨機(jī)長(zhǎng)值流
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IllegalArgumentException | 如果 streamSize 小于零 |
longs
public LongStream longs()
從這個(gè)生成器和/或從它的一個(gè)拆分返回一個(gè)有效無(wú)限的偽隨機(jī)長(zhǎng)值流。
返回:
偽隨機(jī)長(zhǎng)值流
longs
public LongStream longs(long streamSize, long randomNumberOrigin, long randomNumberBound)
返回一個(gè)流,該流產(chǎn)生給定的 streamSize 數(shù)量的偽隨機(jī)長(zhǎng)值,從這個(gè)生成器和/或從中拆分出來(lái); 每個(gè)值都符合給定的原點(diǎn)(包括)和綁定(不包括)。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| streamSize | 要生成的值的數(shù)量 |
| randomNumberOrigin | 每個(gè)隨機(jī)值的原點(diǎn)(包括) |
| randomNumberBound | 每個(gè)隨機(jī)值的界限(不包括) |
返回:
一個(gè)偽隨機(jī)長(zhǎng)值流,每個(gè)值都具有給定的原點(diǎn)(包括)和邊界(不包括)
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IllegalArgumentException | 如果 streamSize 小于零,或者 randomNumberOrigin 大于或等于 randomNumberBound |
longs
public LongStream longs(long randomNumberOrigin, long randomNumberBound)
從這個(gè)生成器和/或從它的一個(gè)拆分返回一個(gè)有效無(wú)限的偽隨機(jī)長(zhǎng)值流; 每個(gè)值都符合給定的原點(diǎn)(包括)和綁定(不包括)。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| randomNumberOrigin | 每個(gè)隨機(jī)值的原點(diǎn)(包括) |
| randomNumberBound | 每個(gè)隨機(jī)值的界限(不包括) |
返回:
一個(gè)偽隨機(jī)長(zhǎng)值流,每個(gè)值都具有給定的原點(diǎn)(包括)和邊界(不包括)
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IllegalArgumentException | 如果 randomNumberOrigin 大于或等于 randomNumberBound |
doubles
public DoubleStream doubles(long streamSize)
返回一個(gè)流,該流產(chǎn)生給定的 streamSize 數(shù)量的偽隨機(jī)雙精度值,從這個(gè)生成器和/或一個(gè)拆分; 每個(gè)值都介于零(包括)和一(不包括)之間。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| streamSize | 要生成的值的數(shù)量 |
返回:
雙值流
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IllegalArgumentException | 如果 streamSize 小于零 |
doubles
public DoubleStream doubles()
從這個(gè)生成器和/或從它的一個(gè)拆分返回一個(gè)有效無(wú)限的偽隨機(jī)雙值流; 每個(gè)值都介于零(包括)和一(不包括)之間。
返回:
偽隨機(jī)雙值流
doubles
public DoubleStream doubles(long streamSize, double randomNumberOrigin, double randomNumberBound)
返回一個(gè)流,該流產(chǎn)生給定的 streamSize 數(shù)量的偽隨機(jī)雙精度值,從這個(gè)生成器和/或一個(gè)拆分; 每個(gè)值都符合給定的原點(diǎn)(包括)和綁定(不包括)。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| streamSize | 要生成的值的數(shù)量 |
| randomNumberOrigin | 每個(gè)隨機(jī)值的原點(diǎn)(包括) |
| randomNumberBound | 每個(gè)隨機(jī)值的界限(不包括) |
返回:
一個(gè)偽隨機(jī)雙值流,每個(gè)都有給定的原點(diǎn)(包括)和邊界(不包括)
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IllegalArgumentException | 如果 streamSize 小于零 |
| IllegalArgumentException | 如果 randomNumberOrigin 大于或等于 randomNumberBound |
doubles
public DoubleStream doubles(double randomNumberOrigin, double randomNumberBound)
從這個(gè)生成器和/或從它的一個(gè)拆分返回一個(gè)有效無(wú)限的偽隨機(jī)雙值流; 每個(gè)值都符合給定的原點(diǎn)(包括)和綁定(不包括)。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| randomNumberOrigin | 每個(gè)隨機(jī)值的原點(diǎn)(包括) |
| randomNumberBound | 每個(gè)隨機(jī)值的界限(不包括) |
返回:
一個(gè)偽隨機(jī)雙值流,每個(gè)都有給定的原點(diǎn)(包括)和邊界(不包括)
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IllegalArgumentException | 如果 randomNumberOrigin 大于或等于 randomNumberBound |
當(dāng)前題目:創(chuàng)新互聯(lián)鴻蒙OS教程:鴻蒙OSSplittableRandom
URL網(wǎng)址:http://m.fisionsoft.com.cn/article/copsijo.html


咨詢
建站咨詢
