当前位置: 首页 > 面试题库 >

设置种子以确定性地在Java中随机播放ArrayList

邓高韵
2023-03-14
问题内容

我有一个整数列表(当前使用cern.colt.list.IntArrayList)。我可以调用“
shuffle()”并随机将它们洗牌。我希望能够重制洗牌。我可以通过设置种子来复制一系列随机数。在这种情况下,我似乎无法设定种子。我该怎么办?我愿意接受其他实现。


问题答案:

这可以通过使用shuffle方法来实现,该方法允许您提供支持Random实例Collections.shuffle(List<?> list, Random rnd)

例:

Collections.shuffle(yourList, new Random(somePredefinedSeed));


 类似资料:
  • 问题内容: 我如何寻找地图中的元素,我正在寻找与方法类似的东西。 问题答案: A的排序方式实际上不像,这意味着您无法按索引访问项目。因此,改组通常没有任何意义。但是您可以这样做(我在示例中省略了泛型):

  • 问题内容: 和之间有什么区别? 我已经阅读了文档页面,但是当我只想随机地对数组元素进行随机排列时,我不明白两者之间是否有任何区别。 确切地说,假设我有一个数组。 如果我想生成x的随机排列,那么和之间有什么区别? 问题答案: 与以下内容有两个区别: 如果传递了数组,它将返回该数组的改组后的 副本 ;将数组改组到位 如果传递一个整数,它将返回一个改组范围,即 如果x是整数,则随机置换np.arange

  • 问题内容: 在我的代码中,我在不同的类中使用随机数。如何定义随机种子?我可以为主代码中的所有类定义此种子吗? 问题答案: 您可能需要使用特殊的Random类。它使您可以更好地控制随机数。为此,您首先需要创建一个新的随机对象。 然后通过生成一个新的数字 http://docs.oracle.com/javase/6/docs/api/java/util/Random.html

  • 问题内容: 我试图将以下Python代码转换为Go 但是我发现Go版本冗长而笨拙,因为没有shuffle函数,我不得不实现接口和转换类型。 什么是我的代码的惯用Go版本? 问题答案: 由于列表只是1到25之间的整数,因此可以使用Perm: 请注意,使用由给定的置换是重新排列任何数组的有效方法。

  • 问题内容: 我有一个相当大的程序,在这里我使用模块中不同文件中的函数。我希望能够在一个位置设置一次随机种子,以使程序始终返回相同的结果。可以做到吗? 问题答案: 运行的主要python模块应该并调用-只要其他位置未重置种子,其他所有导入都可以共享该模块。

  • 问题内容: 我有以下DataFrame: 从csv文件读取DataFrame。所有具有1的行都位于最上面,然后是具有2的行,然后是具有3的行,依此类推。 我想重新整理DataFrame行的顺序,以便将所有行混合在一起。可能的结果可能是: 我该如何实现? 问题答案: 使用Pandas的惯用方式是使用数据框的方法对所有行进行采样而无需替换: 的关键字参数指定的行的分数到随机样品中返回,所以装置返回所有