rustHow to use a tuple as a key in a Rust HashMap?
Tuples can be used as keys in a Rust HashMap by implementing the Hash
and Eq
traits. This can be done by using the #[derive(Hash, Eq)]
annotation on the tuple struct.
#[derive(Hash, Eq)]
struct TupleStruct(i32, i32);
use std::collections::HashMap;
let mut map = HashMap::new();
let key = TupleStruct(1, 2);
map.insert(key, "value");
The example code above creates a tuple struct TupleStruct
with two i32
fields, and implements the Hash
and Eq
traits on it. Then, a HashMap
is created and a key is created from the TupleStruct
. Finally, the key is used to insert a value into the HashMap
.
#[derive(Hash, Eq)]
: Annotation to implement theHash
andEq
traits on a tuple struct.TupleStruct(i32, i32)
: Tuple struct with twoi32
fields.HashMap::new()
: Creates a newHashMap
.let key = TupleStruct(1, 2)
: Creates a key from theTupleStruct
.map.insert(key, "value")
: Inserts a value into theHashMap
using the key.
Helpful links
Related
- How to implement PartialEq for a Rust HashMap?
- How to use an enum in a Rust HashMap?
- How to create a new Rust HashMap with values?
- How to sort a Rust HashMap?
- How to pop an element from a Rust HashMap?
- How to create a HashMap of HashMaps in Rust?
- How to insert an element into a Rust HashMap if it does not already exist?
- How to convert the keys of a Rust HashMap to a vector?
- How to convert a Rust HashMap to a BTreeMap?
- How to remove an element from a Rust HashMap if a condition is met?
More of Rust
- How to replace a capture group using Rust regex?
- How to calculate the inverse of a matrix in Rust?
- How to replace strings using Rust regex?
- How to match a URL with a regex in Rust?
- How to use regex lookahead in Rust?
- How to get the last element of a Rust slice?
- How to match the end of a line in a Rust regex?
- How to perform matrix operations in Rust?
- Regex example to match multiline string in Rust?
- How to get an entry from a HashSet in Rust?
See more codes...