Maison >Java >javaDidacticiel >Comment randomiser plusieurs ArrayLists tout en maintenant la cohérence de l'ordre ?
Maintenir l'ordre sur plusieurs ArrayLists pendant la randomisation
La randomisation d'une seule ArrayList est une tâche simple, mais le défi se pose lorsque plusieurs ArrayLists, liées à les uns les autres, doivent être randomisés de manière cohérente. Pour y parvenir, nous pouvons exploiter la puissance de Collections.shuffle() et une graine aléatoire partagée.
L'extrait de code suivant montre comment obtenir le résultat souhaité :
<code class="java">import java.util.ArrayList; import java.util.Collections; public class ArrayListRandomization { public static void main(String[] args) { // Initialize the ArrayLists String[] file = {"H1.txt", "H2.txt", "H3.txt", "M4.txt", "M5.txt", "M6.txt"}; ArrayList<String> fileList = new ArrayList<>(Arrays.asList(file)); String[] img = {"e1.jpg", "e2.jpg", "e3.jpg", "e4.jpg", "e5.jpg", "e6.jpg"}; ArrayList<String> imgList = new ArrayList<>(Arrays.asList(img)); // Generate a shared random seed long seed = System.nanoTime(); // Randomize the file list Collections.shuffle(fileList, new Random(seed)); // Randomize the image list using the same seed Collections.shuffle(imgList, new Random(seed)); // Print the randomized ArrayLists System.out.println("Randomized fileList:"); for (String s : fileList) { System.out.println(s); } System.out.println("Randomized imgList:"); for (String s : imgList) { System.out.println(s); } } }</code>
Dans ce code :
En utilisant une graine aléatoire partagée, les deux ArrayList sont randomisées de la même manière, garantissant que la relation entre les éléments correspondants est maintenue .
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!