Maison >Java >javaDidacticiel >Comment choisir un élément aléatoire dans un HashSet ou un LinkedHashSet en Java ?
Choisir un élément aléatoire dans un ensemble
Récupérer un élément aléatoire dans un ensemble peut être une opération pratique dans divers scénarios de programmation. Java propose deux types courants d'ensembles, HashSet et LinkedHashSet, chacun avec ses caractéristiques uniques. Cet article explore les approches de sélection d'un élément aléatoire parmi ces ensembles.
HashSet
Un HashSet est une collection non ordonnée qui garantit des éléments uniques. Pour choisir une entrée aléatoire, déterminez la taille de l'ensemble et générez un entier aléatoire dans cette plage. Parcourez les éléments, en comptant chacun jusqu'à atteindre l'index choisi au hasard, et renvoyez l'élément correspondant.
<code class="java">int size = myHashSet.size(); int item = new Random().nextInt(size); // In real life, the Random object should be rather more shared than this int i = 0; for(Object obj : myhashSet) { if (i == item) return obj; i++; }</code>
LinkedHashSet
Un LinkedHashSet étend HashSet en préservant l'insertion commande. La même approche mentionnée ci-dessus peut être appliquée pour récupérer un élément aléatoire, puisque l'ordre d'insertion est conservé.
<code class="java">int size = myHashSet.size(); int item = new Random().nextInt(size); // In real life, the Random object should be rather more shared than this int i = 0; for(Object obj : myhashSet) { if (i == item) return obj; i++; }</code>
Ces méthodes fournissent un moyen simple de sélectionner un élément aléatoire dans un HashSet ou un LinkedHashSet en Java. Ils peuvent être implémentés dans diverses applications, telles que la génération de collections mélangées, la sélection d'éléments pour des expériences de simulation ou la création de structures de données pseudo-aléatoires.
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!