2016-07-08 11 views
0

Wie erstellt man zufällig angeordnete Arrays in Scala? Ich möchte ein zufälliges Array haben, aber dieses zufällige Array muss während der gesamten Funktion gleich sein.Erstellen eines Arrays in Spark Scala (überlagert)

Mit scala.util können wir tun, zum Beispiel

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

ändert sich jedoch arr1 jedes Mal, wenn der Prozess durch es geht.

Da wir auch Samen in Scala haben, habe ich versucht zu tun:

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

Dennoch ändert es auch jedes Mal, wenn es ein Samen ist.

Antwort

2

Erstellen Sie einen Zufallsgenerator mit einem Samen,

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

Um die gleiche Sequenz von pseudo-zufälligen Werten müssen Sie „Reset“ den Generator neu zu erstellen, sonst wird es neue hinzufügen (möglicherweise) verschiedene Werte zu den nächsten Sequenzen,

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)