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 replace strings using Rust regex?
- How to replace a capture group using Rust regex?
- How to calculate the inverse of a matrix in Rust?
- Regex example to match multiline string in Rust?
- How to replace all matches using Rust regex?
- How to ignore case in Rust regex?
- How to parse a file with Rust regex?
- How to get an element from a HashSet in Rust?
- How to create pointer in Rust
- How to match whitespace with a regex in Rust?
See more codes...