rustHow to create a HashMap of HashMaps in Rust?
A HashMap of HashMaps can be created in Rust using the HashMap::new()
method. The following example code creates a HashMap of HashMaps with String
keys and i32
values:
use std::collections::HashMap;
let mut map_of_maps: HashMap<String, HashMap<String, i32>> = HashMap::new();
let mut inner_map1: HashMap<String, i32> = HashMap::new();
inner_map1.insert(String::from("key1"), 1);
inner_map1.insert(String::from("key2"), 2);
let mut inner_map2: HashMap<String, i32> = HashMap::new();
inner_map2.insert(String::from("key3"), 3);
inner_map2.insert(String::from("key4"), 4);
map_of_maps.insert(String::from("map1"), inner_map1);
map_of_maps.insert(String::from("map2"), inner_map2);
println!("{:?}", map_of_maps);
Output example
{"map1": {"key1": 1, "key2": 2}, "map2": {"key3": 3, "key4": 4}}
Code explanation
-
use std::collections::HashMap;
- imports theHashMap
type from thestd::collections
module. -
let mut map_of_maps: HashMap<String, HashMap<String, i32>> = HashMap::new();
- creates aHashMap
withString
keys andHashMap
values, where theHashMap
values haveString
keys andi32
values. -
let mut inner_map1: HashMap<String, i32> = HashMap::new();
- creates aHashMap
withString
keys andi32
values. -
inner_map1.insert(String::from("key1"), 1);
- inserts a key-value pair into theinner_map1
HashMap
. -
map_of_maps.insert(String::from("map1"), inner_map1);
- inserts a key-value pair into themap_of_maps
HashMap
, where the value is theinner_map1
HashMap
.
Helpful links
Related
- How to implement PartialEq for a Rust HashMap?
- How to get the length of a Rust HashMap?
- How to convert the keys of a Rust HashMap to a vector?
- How to convert a Rust HashMap to JSON?
- How to remove an element from a Rust HashMap if a condition is met?
- How to create a HashMap of pointers in Rust?
- How to use a custom hash function with a Rust HashMap?
- How to use an enum in a Rust HashMap?
- How to insert an element into a Rust HashMap if it does not already exist?
More of Rust
- How to replace strings using Rust regex?
- How to modify an existing entry in a Rust HashMap?
- How to replace a capture group using Rust regex?
- How to use non-capturing groups in Rust regex?
- How to borrow as static in Rust
- How to convert struct to protobuf in Rust
- How to get execution time in Rust
- How to match whitespace with a regex in Rust?
- How to insert an element into a Rust HashMap if it does not already exist?
- How to use Unicode in a regex in Rust?
See more codes...