map

C++, Rust, Python, Go

C++ Rust Python Go
Create
                       
map<char, int> m;
            
                       
//Empty
let btm:BTreeMap = BTreeMap::new()

//<key=i32, value=vector<i32>>
let btm:BTreeMap<i32, Vec<i32>> = BTreeMap::new();
                
//init
iter(): is called on the array to create
        an iterator over its elements
cloned(): method is used to clone each
          tuple's elements. This is necessary
          because &str is a reference type,
          and we need to create owned values
          to store in the HashMap.
collect(): method consumes the iterator and collects
           the cloned tuples into a HashMap<char, &str>
let btm: BTreeMap = [
    (2, "abc"),
    (3, "def"),
    (4, "ghi"),
    (5, "jkl"),
    (6, "mno"),
    (7, "pqrs"),
    (8, "tuv"),
    (9, "wxyz"),
]
.iter()
.cloned()
.collect();
            
                           
#Empty
self.hm = {}

#key,val
self.hm={1:1, 2:2}

#hashmap <key=int, value=vector>
um = {}
value = [1,2,3]
um[10] = value
                
                           
var hm map[string[int]]  //key=string, value=int

// Using make function (key=pointer, val="pointer")
var hm = make(map[*Node]*Node)
            
Delete/Erase
                           
um.erase(key);
Range: um.erase(start,end);
            
Find
                               
if (um.find("key") != um.end())
OR
value=count(key)
// Smallest Key
  min_element(um.begin(), um.end())
            
                               
if let Some(value) = btm.get(&key) {
} else {
}
OR 
if let Some(value) = btm.get_mut(&key) {
    value = 1;
} else {
}
            
                              
value = um[key]
            
                               
value = hm[key]
if value != nil {
    //Found
}
            
Insert vec.insert(v.begin() + 2, 7)
    
btm.insert(key, value);
            
    
hm["test"] = 1
            
Iterate over elements
                    
map<int, int> m;
for (auto&i:m) {
    cout << i.first << "," << i.second;
}
            
                  
for (key, value) in &hm {
    println!("Key: {}, Value: {}", key, value);
}
OR
for (key, value) in hm.iter() {
    println!("Key: {}, Value: {}", key, value);
}
            
                     
for key,value in um.items():