Maison > Java > javaDidacticiel > Comment randomiser les ArrayLists dépendantes tout en conservant la correspondance ?

Comment randomiser les ArrayLists dépendantes tout en conservant la correspondance ?

DDD
Libérer: 2024-10-27 11:14:30
original
901 Les gens l'ont consulté

How to Randomize Dependent ArrayLists While Maintaining Correspondence?

Automatisation de la randomisation des listes dépendantes

Lorsque vous traitez plusieurs ArrayLists liées, il peut être utile de pouvoir les randomiser de telle manière une manière qu'ils maintiennent leur correspondance. Par exemple, dans le cas fourni, les filelist et imgList ArrayLists ont des éléments correspondants, tels que "H1.txt" et "e1.jpg".

Énoncé du problème

Étant donné deux ArrayLists, filelist et imgList, où chaque élément de filelist correspond à un élément de imgList, comment pouvons-nous automatiquement randomiser l'ordre des éléments dans imgList pour correspondre à la randomisation de filelist ?

Solution

Pour garantir que la randomisation de imgList reflète la randomisation de filelist, nous devons utiliser des objets Random séparés pour chaque liste mais les initialiser avec la même graine. Cela garantit que les deux listes seront mélangées de la même manière.

<code class="java">long seed = System.nanoTime();
Collections.shuffle(fileList, new Random(seed));
Collections.shuffle(imgList, new Random(seed));</code>
Copier après la connexion

Explication

La méthode System.nanoTime() fournit une valeur de départ unique basée sur sur l'heure actuelle en nanosecondes. En utilisant cette valeur pour initialiser les deux objets Random, nous nous assurons qu'ils génèrent la même séquence de nombres aléatoires. Cela signifie que l'ordre des éléments dans filelist et imgList sera identique après le processus de brassage.

En utilisant cette approche, vous pouvez obtenir la correspondance aléatoire souhaitée entre les deux ArrayList, où les éléments de imgList suivront le même ordre aléatoire que les éléments de la liste de fichiers.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal