map::at() and map::swap() in C++ STL


Maps are the container in STL which is used to store the elements in the form of key-value pair. Internally, the elements in a map are always sorted by its key. Maps are mainly implemented as binary search trees.

map::at()
at() function is used to return the reference to the element associated with the key k.

Syntax:

map1.at(k)

Parameters:
k is the Key value of the 
element whose associated value is accessed.

Return: It return a reference to the associated value of the element whose key value is equivalent to k.

Examples:

Input:  map1 = {
                 {1, 'a'},
                 {2, 'b'},
                 {3, 'c'},
                 {4, 'd'}
               }
        map1.at(2);
Output: b

Input:  map2 = {
                 {'w', 1},
                 {'x', 2},
                 {'y', 3}
               }
        map2.at('w');
Output: 1

filter_none

edit
close

play_arrow

link
brightness_4
code

// CPP program to illustrate
// Implementation of swap() function
#include <bits/stdc++.h>
using namespace std;
  
int main()
{
    // Take any two maps
    map<int, char> map1;
    map<char, int> map2;
  
    map1[1] = 'a';
    map1[2] = 'b';
    map1[3] = 'c';
    map1[4] = 'd';
  
    map2['w'] = 1;
    map2['y'] = 2;
    map2['z'] = 3;
  
    // Print the associated element
    cout << "Element at map1[2] = "
         << map1.at(2) << endl;
  
    cout << "Element at map2['w'] = "
         << map2.at('w') << endl;
  
    return 0;
}

chevron_right


Output:

Element at map1[2] = b
Element at map2['w'] = 1

map::swap()
swap() function is used to exchange the contents of two maps but the maps must be of same type, although sizes may differ.
Syntax:

map1.swap(map2)
       OR
swap(map1, map2)

Parameters:
map1 is the first map object.
map2 is the second map object.

Return value: None

Examples:

Input : map1 = {
                 {1, 'a'},
                 {2, 'b'},
                 {3, 'c'},
                 {4, 'd'}
               }
        map2 = {
                 {5, 'w'},
                 {6, 'x'},
                 {7, 'y'}
               }
      swap(map1, map2)

Output : map1 = {
                 {5, 'w'},
                 {6, 'x'},
                 {7, 'y'}
                }
         map2 = {
                 {1, 'a'},
                 {2, 'b'},
                 {3, 'c'},
                 {4, 'd'}
                }

filter_none

edit
close

play_arrow

link
brightness_4
code

// CPP program to illustrate
// Implementation of swap() function
#include <bits/stdc++.h>
using namespace std;
  
int main()
{
    // Take any two maps
    map<int, char> map1, map2;
  
    map1[1] = 'a';
    map1[2] = 'b';
    map1[3] = 'c';
    map1[4] = 'd';
  
    map2[5] = 'w';
    map2[6] = 'x';
    map2[7] = 'y';
  
    // Swap elements of queues
    swap(map1, map2);
  
    // Print the elements of maps
    cout << "map1:\n"
         << "\tKEY\tELEMENT\n";
    for (auto it = map1.begin();
         it != map1.end(); it++)
  
        cout << "\t" << it->first << "\t" << it->second << '\n';
  
    cout << "map2:\n"
         << "\tKEY\tELEMENT\n";
    for (auto it = map2.begin();
         it != map2.end(); it++)
  
        cout << "\t" << it->first << "\t" << it->second << '\n';
  
    return 0;
}

chevron_right


Output:

map1:
    KEY    ELEMENT
    5    w
    6    x
    7    y
map2:
    KEY    ELEMENT
    1    a
    2    b
    3    c
    4    d


My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :
Practice Tags :


Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.