2016-07-08 111 views
0

如何在Scala中创建随机播种数组?我想要一个随机数组,但这个随机数组必须全部通过该函数。在Spark Scala中创建数组(种子)

使用scala.util,我们可以做,例如

val arr1 = Array.fill[Float](Random.nextFloat) 

然而,arr1每变化过程经历它的时候。

因为我们也有种子Scala中,我试着做:

val rndm = Random(4) 
val arr1 = Array.fill[Float](rndm.nextFloat) 

尽管如此,它的每一次变化,即使有一个种子。

回答

2

创建一个种子随机发生器,

val r = new scala.util.Random(100) 

要重新创建你需要“重置”时,生成的伪随机值相同的顺序,否则会增加新的(可能)不同的值到下一个序列,

scala> val r = new scala.util.Random(100) 
r: scala.util.Random = [email protected] 

scala> Array.fill(2)(r.nextFloat) 
res6: Array[Float] = Array(0.7220096, 0.7346627) 

scala> val r = new scala.util.Random(100) 
r: scala.util.Random = [email protected] 

scala> Array.fill(2)(r.nextFloat) 
res7: Array[Float] = Array(0.7220096, 0.7346627)