Maison > Java > javaDidacticiel > Comment sélectionner aléatoirement un élément d'un HashSet ou d'un LinkedHashSet en Java ?

Comment sélectionner aléatoirement un élément d'un HashSet ou d'un LinkedHashSet en Java ?

DDD
Libérer: 2024-10-29 03:11:30
original
862 Les gens l'ont consulté

How to Randomly Select an Element from a HashSet or LinkedHashSet in Java?

Sélection d'éléments aléatoires dans un ensemble

La sélection d'un élément aléatoire dans un ensemble peut être une opération utile dans divers scénarios de programmation. En Java, s'il s'agit spécifiquement d'un HashSet ou d'un LinkedHashSet, il existe quelques approches à considérer.

Approche :

La solution fournie utilise un algorithme simple pour obtenir ce. Cela implique :

  1. Déterminer la taille de l'ensemble (size) à l'aide de la méthode size().
  2. Générer un entier aléatoire (élément) dans la plage [0, taille-1 ] en utilisant nextInt(size).
  3. Itérer dans l'ensemble, en gardant une trace de l'index actuel (i)
  4. Lorsque i correspond à l'élément généré aléatoirement, l'objet correspondant est renvoyé.

Exemple de code :

<code class="java">int size = myHashSet.size();
int item = new Random().nextInt(size); // Consider using a shared Random object for efficiency
int i = 0;
for (Object obj : myHashSet) {
    if (i == item) {
        return obj;
    }
    i++;
}</code>
Copier après la connexion

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 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