map也是一种关联式容器,用来存储key-value型数据


常用方法

  • begin() 返回指向map头部的迭代器
  • end() 返回指向map尾部的迭代器
  • clear() 清除map存储的所有元素
  • insert(pair(key,value)) 插入一对数据
    需要注意的是,如果待插入的key已经存在,那么这组数据就不会插入成功
    pair是一种模板类,可以将两个数据组合成为一组数据来进行存储,当有这样的需求的时候就可以使用pair,比如说STL中的map
    make_pair(value1,value2)就是制造pair的函数,将value1value2组合成一组数据存储
    image.png
  • find(key) 查找是否存在键值为key的元素,如果没找到就返回指向map尾部的迭代器
  • erase(key) 删除值为key的所有元素
  • size() 返回map的大小

遍历map

迭代器遍历

注意截止条件是it != m.end()
image.png

  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. int main(){
  4. map<int,int> m;
  5. m.insert(make_pair(1,2));
  6. m.insert(make_pair(2,3));
  7. m.insert(make_pair(3,4));
  8. map<int,int>::iterator it;
  9. for(it = m.begin();it != m.end();it++){
  10. pair<int,int> p = (*it);
  11. cout << "key: " << p.first << " value: " << p.second << endl;
  12. }
  13. system("pause");
  14. return 0;
  15. }