use rand::Rng;
use rand::rng;
use std::collections::HashMap;
fn get_random_value(input_map: &HashMap<i32, String>) -> Option<String> {
let values: Vec<&String> = input_map.values().collect();
if values.is_empty() {
return None;
}
let mut rng_instance = rng();
let index = rng_instance.random_range(0..values.len());
Some(values[index].clone())
}
fn main() {
let mut my_map = HashMap::new();
my_map.insert(1, "C++".to_string());
my_map.insert(2, "C".to_string());
my_map.insert(3, "Java".to_string());
my_map.insert(4, "C#".to_string());
my_map.insert(5, "Rust".to_string());
my_map.insert(6, "Python".to_string());
match get_random_value(&my_map) {
Some(random_value) => println!("Random value: {}", random_value),
None => println!("Map is empty!"),
}
}
/*
run:
Random value: Rust
*/