rustHow to use enum as hashmap key in Rust
Enums in Rust can be used as hashmap keys by implementing the Eq
and Hash
traits. This can be done by adding #[derive(Eq, Hash)]
to the enum definition. For example:
#[derive(Eq, Hash)]
enum Color {
Red,
Blue,
Green,
}
fn main() {
use std::collections::HashMap;
let mut colors = HashMap::new();
colors.insert(Color::Red, "red");
colors.insert(Color::Blue, "blue");
colors.insert(Color::Green, "green");
println!("{:?}", colors);
}
The output of this code is {Color::Red: "red", Color::Blue: "blue", Color::Green: "green"}
. The #[derive(Eq, Hash)]
annotation allows the enum to be used as a key in the hashmap.
Helpful links
Related
More of Rust
- How to get an entry from a HashSet in Rust?
- How to drop box in Rust
- How to replace a capture group using Rust regex?
- How to implement PartialEq for a Rust HashMap?
- How to convert a vector to a Rust slice?
- How to match the end of a line in a Rust regex?
- How to use regex with bytes in Rust?
- How to get a capture group using Rust regex?
- How to use regex captures in Rust?
- How to convert the keys of a Rust HashMap to a vector?
See more codes...