Java 中Random(seed)方法

public Random(long seed){}
    seed是種子,使用單個long種子創建一個新的隨機數生成器。該種子是僞隨機數生成器的內部狀態的初始值,該生成器可通過方法next(int)維護。seed會做爲生成隨機數的某個條件,也是說seed和將要產生的隨機數有某種關係!
       protected int next(int bits)
	將種子自動更新爲(seed * 0x5DEECE66DL + 0xBL) & ((1L << 48) - 1)
	並返回(int)(seed >>> (48 - bits))
Random random = new Random(seed); 等同於 Random random = new Random();random.setSeed(seed);
	將種子自動更新爲(seed ^ 0x5DEECE66DL) & ((1L << 48) - 1)
	setSeed只使用48位的給定種子,通常重寫方法可能使用的是long,所以使用的是64位作爲種子值。

*隨機數:使用公式計算出來的數列,同樣的初始值(又成爲“種子”)會產生同樣的數列,並且數列是循環的,雖然週期很長。
    

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章