Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,845 questions

51,766 answers

573 users

How to combine 2 maps into a third map in Rust

2 Answers

0 votes
use std::collections::HashMap;

fn main() {
    let mut map1 = HashMap::new();
    map1.insert("A", "aaa");
    map1.insert("B", "bbb");

    let mut map2 = HashMap::new();
    map2.insert("C", "ccc");
    map2.insert("B", "XYZ"); // Overwrites key "B"
    map2.insert("D", "ddd");

    let mut combined = map1.clone(); // Start with map1

    for (key, value) in map2 {
        combined.insert(key, value); // Overwrites if key exists
    }

    for (key, value) in &combined {
        println!("{} => {}", key, value);
    }
}




/*
run:

C => ccc
D => ddd
A => aaa
B => XYZ

*/
 


answered Aug 26, 2025 by avibootz
0 votes
use std::collections::BTreeMap;

// Using BTreeMap for Ordered Keys (preserve key order)

fn main() {
    let mut map1 = BTreeMap::new();
    map1.insert("A", "aaa");
    map1.insert("B", "bbb");

    let mut map2 = BTreeMap::new();
    map2.insert("C", "ccc");
    map2.insert("B", "XYZ"); 
    map2.insert("D", "ddd");

    let mut combined = map1.clone();

    for (key, value) in map2 {
        combined.insert(key, value);
    }

    for (key, value) in &combined {
        println!("{} => {}", key, value);
    }
}




/*
run:

A => aaa
B => XYZ
C => ccc
D => ddd

*/

 



answered Aug 26, 2025 by avibootz

Related questions

1 answer 69 views
1 answer 67 views
1 answer 85 views
1 answer 97 views
1 answer 133 views
2 answers 88 views
...