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

30 Jan, 2018
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

// 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;}
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'}
                }


// 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;}
Output:
map1:
    KEY    ELEMENT
    5    w
    6    x
    7    y
map2:
    KEY    ELEMENT
    1    a
    2    b
    3    c
    4    d

cpp-map
STL
C++
STL
CPP
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Inheritance in C++
C++ Classes and Objects
Virtual Function in C++
Bitwise Operators in C/C++
Templates in C++ with Examples
Constructors in C++
Operator Overloading in C++
Socket Programming in C/C++
Object Oriented Programming in C++
Polymorphism in C++