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

如何以相同的方式随机化两个ArrayList?

冯茂实
2023-03-14
问题内容

我有两个arraylist filelist并且imgList彼此相关,例如,与“ e1.jpg”相关的“ H1.txt”。如何imgList根据的随机化自动对列表进行随机化fileList?像在excel中一样,如果我们对某些列进行排序,其他列是否会自动跟随?

String [] file = {"H1.txt","H2.txt","H3.txt","M4.txt","M5.txt","M6.txt"};
ArrayList<String> fileList = new ArrayList<String>(Arrays.asList(file));

String [] img = {"e1.jpg","e2.jpg","e3.jpg","e4.jpg","e5.jpg","e6.jpg"};
ArrayList<String> imgList = new ArrayList<String>(Arrays.asList(img));

//randomized files
Collections.shuffle(fileList);

随机化后输出,例如:

fileList = {"M4.txt","M6.txt","H3.txt","M5.txt","H2.txt","H1.txt"};

预期的输出:

 imgList = {"e4.jpg","e6.jpg","e3.jpg","e5.jpg","e2.jpg","e1.jpg"};

问题答案:

使用Collections.shuffle()两次,并Random用相同的种子初始化两个对象:

long seed = System.nanoTime();
Collections.shuffle(fileList, new Random(seed));
Collections.shuffle(imgList, new Random(seed));

使用Random具有相同种子的两个对象可确保两个列表将以完全相同的方式进行混洗。这允许两个单独的集合。



 类似资料:
  • 问题内容: 我有两个问题和答案 我曾经洗牌每个数组。如何对每个数组进行混洗,以便在混洗后保持相同的顺序? 问题答案: 您可以改组包含索引的新数组。然后从第一个索引获取两个数组中的元素。 当然,如其他答案所建议的那样,创建一个包含和将是一种更加面向对象的方法。这样,与当前方法相比,您仅需维护一个或。

  • 问题内容: 我有一个非常大的矩阵A,具有N行和M列。我想基本上做以下操作 但又快又有效。(M和N都很大,这只是更大的外部循环中的内部循环。) 更多上下文:我正在尝试对相关矩阵实施置换测试(http://en.wikipedia.org/wiki/Resampling_%28statistics%29)。我的数据很大,我很不耐烦。如果有人知道实现这种测试的快速方法,我也将不胜感激! 我是否希望避免循

  • 问题内容: 说我有两个清单: 如果我运行,它将对其进行排序,但是还有没有一种同步的方法(因此我可以说item属于)?因此,预期输出为: 我的问题是我有一个非常复杂的程序,可以很好地处理列表,但是我有点需要开始引用一些数据。我知道这对字典来说是一个完美的情况,但是我在处理过程中尽量避免使用字典,因为我确实需要对键值进行排序(如果必须使用字典,我知道如何使用它们)。 基本上,该程序的本质是,数据按随机

  • 问题内容: 我正在尝试进行一些分析,出于“原因”,我希望程序中的每个对象都有自己的种子,但没有全局种子。我可以完成这样的事情吗? 预期的输出将是 等等…显然是一个超级设计的例子-这些单独的种子将被埋在对象中并与特定的事物相对应。但是第一步是要使类似的东西起作用。 我如何让python维护多个种子随机数? 问题答案: 您需要使用一个类对象。 该文档明确指出了您的问题: 该模块提供的功能实际上是该类的

  • 的顺序将与为创建对象选择的顺序相同 允许重复的后续字符串组件并按顺序保留 未定义的行为(其他代码保证没有进入工厂) 在对象实例化之后,没有任何方法可以更改组件列表 我正在编写一个简单的测试,该测试从字符串列表创建并检查它是否可以通过返回相同的列表。我立即这样做,但这应该发生在一个现实的代码路径的远处。 这里是我的尝试: null null

  • 问题内容: 我如何测试python中两个JSON对象是否相等,而忽略列表的顺序? 例如 … JSON文档 a : JSON文档 b : 并且即使列表的顺序不同,也应该比较相等。 问题答案: 如果要使两个具有相同元素但顺序不同的对象相等,那么显而易见的事情是比较它们的排序后的副本-例如,以JSON字符串和表示的字典: …但这是行不通的,因为在每种情况下,顶层dict的项都是具有相同元素的列表,但是顺