Maison  >  Article  >  Java  >  Comment randomiser deux ArrayLists parallèles de manière synchrone ?

Comment randomiser deux ArrayLists parallèles de manière synchrone ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-27 18:06:02443parcourir

How to Randomize Two Parallel ArrayLists Synchronously?

Randomisation synchrone de deux listes de tableaux parallèles

En programmation, il est souvent nécessaire de maintenir plusieurs listes qui correspondent les unes aux autres. Par exemple, une liste de noms de fichiers et une liste d'images correspondante peuvent être interconnectées, de telle sorte que le premier nom de fichier corresponde à la première image et ainsi de suite.

La question se pose : comment pouvons-nous randomiser l'ordre de ces parallèles des listes de telle manière que leurs éléments restent alignés ? En d'autres termes, si nous réorganisons les noms de fichiers, nous voulons que les images correspondantes soient réorganisées exactement de la même manière.

La solution consiste à utiliser l'utilitaire Collections.shuffle(). Cependant, pour assurer une randomisation synchrone, nous devons utiliser deux objets Random initialisés avec la même graine :

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

En utilisant deux objets Random avec la même graine, nous garantissons que les deux listes seront mélangées de manière identique . Cette approche synchronise efficacement la randomisation des collections parallèles, de sorte qu'elles conservent leurs éléments correspondants.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn