rustHow to use an enum as a key in a Rust HashMap?
Enums can be used as keys in a Rust HashMap by implementing the Eq and Hash traits.
use std::collections::HashMap;
#[derive(Eq, Hash, PartialEq)]
enum Color {
Red,
Blue,
Green,
}
fn main() {
let mut map = HashMap::new();
map.insert(Color::Red, "red");
map.insert(Color::Blue, "blue");
map.insert(Color::Green, "green");
println!("{:?}", map);
}
Output example
{Color::Red: "red", Color::Blue: "blue", Color::Green: "green"}
Code explanation
-
#[derive(Eq, Hash, PartialEq)]: This line is used to derive theEqandHashtraits for theColorenum. This allows the enum to be used as a key in a HashMap. -
map.insert(Color::Red, "red"): This line inserts a key-value pair into the HashMap. The key is theColor::Redenum and the value is the string"red".
Helpful links
Related
- How to add an entry to a Rust HashMap?
- How to print a Rust HashMap?
- How to use a tuple as a key in a Rust HashMap?
- How to set the lifetime of a Rust HashMap?
- How to extend a Rust HashMap?
- How to create a HashMap of structs in Rust?
- How to create a HashMap of HashMaps in Rust?
- How to sort a Rust HashMap?
- How to remove an element from a Rust HashMap if a condition is met?
- How to insert an element into a Rust HashMap if it does not already exist?
More of Rust
- Regex example to match multiline string in Rust?
- How to use regex captures in Rust?
- How to use binary regex in Rust?
- How to print a Rust HashMap?
- How to create a HashMap of structs in Rust?
- How to convert a Rust slice of u8 to u32?
- How to replace all using regex in Rust?
- How to use regex to match a double quote in Rust?
- How to perform matrix operations in Rust?
- Yield example in Rust
See more codes...