// C++ program to illustrate vector type

#include <iostream>
#include <map>
#include <string>
using namespace std;

int main() 
{
  // Defining maps
  map<string, string> map1;
  map<string, string> map2 = { {"john", "123-4567"},
                               {"mary", "333-3333"},
                               {"jack", "345-6666"},
                               {"amos", "222-8888"},
                               {"jane", "444-5555"} };

  for (auto  data: map2 )
     cout << data.first << "  " << data.second << endl;
  cout << "\n";

  // Access map
  cout << "john: " << map2["john"] << endl;
  cout << "jack: " << map2["jack"] << endl << endl;

  // Insert
  map2["new"] = "999-9999";

  for (auto  data: map2 )
     cout << data.first << "  " << data.second << endl;
  cout << "\n";

  // Delete
  map2.erase("new");

  for (auto  data: map2 )
     cout << data.first << "  " << data.second << endl;
  cout << "\n";

  // Update
  map2["amos"] = "000-0000";

  for (auto  data: map2 )
     cout << data.first << "  " << data.second << endl;
  cout << "\n";

  return 0;
}
