Sid*_*ant 0 random scala shuffle
我想随机整理一个scala列表。
我知道我可以通过使用 scala.util.Random.shuffle
但是在这里,通过调用此命令,我将始终获得一组新列表。我真正想要的是,在某些情况下,我希望洗牌能够始终为我提供相同的输出。那么我该如何实现呢?
基本上,我想做的是首先随机地随机排列一个列表,然后以相同的顺序重复它。我第一次想随机生成列表,然后基于某些参数重复相同的改组。
用于setSeed()在改组之前为生成器添加种子。然后,如果要重复随机播放,请重新使用种子。
例如:
scala> util.Random.setSeed(41L) // some seed chosen for no particular reason
scala> util.Random.shuffle(Seq(1,2,3,4))
res0: Seq[Int] = List(2, 4, 1, 3)
Run Code Online (Sandbox Code Playgroud)
随机播放:1st-> 3rd,2nd-> 1st,3rd-> 4th,4th-> 2nd
现在我们可以重复相同的随机播放模式。
scala> util.Random.setSeed(41L) // same seed
scala> util.Random.shuffle(Seq(2,4,1,3)) // result of previous shuffle
res1: Seq[Int] = List(4, 3, 2, 1)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
792 次 |
| 最近记录: |