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 theHashMaptype from thestd::collectionsmodule. -
let mut map_of_maps: HashMap<String, HashMap<String, i32>> = HashMap::new();- creates aHashMapwithStringkeys andHashMapvalues, where theHashMapvalues haveStringkeys andi32values. -
let mut inner_map1: HashMap<String, i32> = HashMap::new();- creates aHashMapwithStringkeys andi32values. -
inner_map1.insert(String::from("key1"), 1);- inserts a key-value pair into theinner_map1HashMap. -
map_of_maps.insert(String::from("map1"), inner_map1);- inserts a key-value pair into themap_of_mapsHashMap, where the value is theinner_map1HashMap.
Helpful links
Related
- How to sort a Rust HashMap?
- How to use a tuple as a key in a Rust HashMap?
- How to create a new Rust HashMap with values?
- How to convert a Rust HashMap to a struct?
- How to clear a Rust HashMap?
- How to convert a Rust HashMap to JSON?
- How to create a HashMap of structs in Rust?
- How to create a nested HashMap in Rust?
- How to get the length of a Rust HashMap?
- How to create a HashMap of pointers in Rust?
More of Rust
- How to replace strings using Rust regex?
- How to match whitespace with a regex in Rust?
- How to match a URL with a regex in Rust?
- How to replace all matches using Rust regex?
- How to use regex lookbehind in Rust?
- How to use regex to match a double quote in Rust?
- How to use non-capturing groups in Rust regex?
- Regex example to match multiline string in Rust?
- How to use regex lookahead in Rust?
- How to get a capture group using Rust regex?
See more codes...