首页  >  文章  >  Java  >  如何在保持对应性的同时随机化依赖的 ArrayList?

如何在保持对应性的同时随机化依赖的 ArrayList?

DDD
DDD原创
2024-10-27 11:14:30783浏览

How to Randomize Dependent ArrayLists While Maintaining Correspondence?

从属列表的自动随机化

在处理多个相关的 ArrayList 时,能够以这样的方式随机化它们会很有用他们保持通信的一种方式。例如,在提供的案例中,filelist 和 imgList ArrayList 都有相应的元素,例如“H1.txt”和“e1.jpg”。

问题陈述

给定两个ArrayList,filelist和imgList,其中filelist中的每个元素对应imgList中的一个元素,我们如何自动随机化imgList中元素的顺序以匹配filelist的随机化?

解决方案

为了确保 imgList 的随机化反映 filelist 的随机化,我们需要为每个列表使用单独的 Random 对象,但使用相同的种子初始化它们。这保证了两个列表将以相同的方式进行洗牌。

<code class="java">long seed = System.nanoTime();
Collections.shuffle(fileList, new Random(seed));
Collections.shuffle(imgList, new Random(seed));</code>

说明

System.nanoTime() 方法提供了一个唯一的种子值,该种子值基于当前时间(以纳秒为单位)。通过使用这个值来初始化两个 Random 对象,我们确保它们生成相同的随机数序列。这意味着经过混洗过程后,filelist 和 imgList 中的元素顺序将相同。

通过利用这种方法,您可以在两个 ArrayList 之间实现所需的随机对应关系,其中 imgList 中的元素将遵循与文件列表中的元素相同的随机顺序。

以上是如何在保持对应性的同时随机化依赖的 ArrayList?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn