Maison > Java > javaDidacticiel > Comment choisir un élément aléatoire dans un HashSet ou un LinkedHashSet en Java ?

Comment choisir un élément aléatoire dans un HashSet ou un LinkedHashSet en Java ?

Linda Hamilton
Libérer: 2024-10-28 02:57:30
original
761 Les gens l'ont consulté

How to Choose a Random Element from a HashSet or LinkedHashSet in 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>
Copier après la connexion
Copier après la connexion

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>
Copier après la connexion
Copier après la connexion

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!

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal