How to get a Random Item in a Set in Rust


How to get a Random Item in a Set in Rust ?

Answer

To retrieve a random item from a set in Rust, you can use the `rand` crate along with the `thread_rng()` function and `choose()` method.



✐ Examples

1 Get Random Item from Set

In this example,

  1. We include the necessary dependencies in `Cargo.toml` by adding `rand = "0.8.4"` to the `[dependencies]` section.
  2. We import the required modules `rand::thread_rng` and `rand::seq::SliceRandom` in our Rust code.
  3. We create a set, for example, a vector or array named `my_set`, and populate it with elements.
  4. We initialize the random number generator using `thread_rng()`.
  5. We use the `choose()` method from `SliceRandom` trait to select a random item from the set.
  6. Finally, we print the randomly selected item.

Rust Program

[dependencies]
rand = "0.8.4"

use rand::{thread_rng, seq::SliceRandom};

fn main() {
    // Create and populate the set (vector or array)
    let mut my_set = vec![1, 2, 3, 4, 5];

    // Initialize the random number generator
    let mut rng = thread_rng();

    // Get random item from set
    if let Some(random_item) = my_set.choose(&mut rng) {
        // Print random item
        println!("Random item from set: {}", random_item);
    } else {
        println!("Set is empty");
    }
}

Output

Random item from set: [random value]

2 Get Multiple Random Items from Set

In this example,

  1. We import the necessary modules `rand::seq::SliceRandom` and `rand::thread_rng`.
  2. We specify the number of random items we want to retrieve.
  3. We shuffle the set using the `shuffle()` method provided by `SliceRandom` trait.
  4. We take the first `n` items from the shuffled set to get multiple random items.
  5. Finally, we print the randomly selected items.

Rust Program

use rand::{seq::SliceRandom, thread_rng};

fn main() {
    // Create and populate the set (vector or array)
    let mut my_set = vec![1, 2, 3, 4, 5];

    // Initialize the random number generator
    let mut rng = thread_rng();

    // Specify number of random items
    let num_random_items = 3;

    // Shuffle the set
    my_set.shuffle(&mut rng);

    // Get multiple random items from set
    let random_items: Vec<_> = my_set.iter().take(num_random_items).collect();

    // Print random items
    println!("Random items from set: {:?}", random_items);
}

Output

Random items from set: [random value 1, random value 2, random value 3]

Summary

In this tutorial, we learned How to get a Random Item in a Set in Rust language with well detailed examples.




More Rust Sets Tutorials

  1. How to create an Empty Set in Rust ?
  2. How to Initialize a Set in Rust ?
  3. How to Get Length of a Set in Rust ?
  4. How to create a Set of size N in Rust ?
  5. How to create a Set of Numbers from 1 to N in Rust ?
  6. How to create a Set of integers in Rust ?
  7. How to create a Set of Strings in Rust ?
  8. How to Access Items in a Set in Rust ?
  9. How to get a Random Item in a Set in Rust ?
  10. How to Iterate Over a Set in Rust ?
  11. How to check if a Set is Empty in Rust ?
  12. How to check if a Set is Not Empty in Rust ?
  13. How to get Subset from a Set in Rust ?
  14. How to check if a Specific Item is present in the Set in Rust ?
  15. How to check if a Set contains all the items of Another Set in Rust ?
  16. How to Sort Items of a Set in Rust ?
  17. How to Copy a Set in Rust ?
  18. How to add an Item to a Set in Rust ?
  19. How to find Union of Two Sets in Rust ?
  20. How to find Intersection of Two Sets in Rust ?
  21. How to check if Two Sets are Equal in Rust ?
  22. How to Convert a Set of Integers to a Set of Strings in Rust ?
  23. How to Convert a Set of Strings to a Set of Integers in Rust ?
  24. How to Convert a Set of Floats to a Set of Strings in Rust ?
  25. How to Convert a Set of Strings to a Set of Floats in Rust ?
  26. How to Filter Items of a Set based on a Condition in Rust ?
  27. How to Remove Specific Item from a Set in Rust ?
  28. How to Remove Items from Set based on a Condition in Rust ?
  29. How to create a Set of Sets in Rust ?