【c++】map用法详解
【c++】map用法详解
LeeMooq
已于 2022-05-01 22:01:43 修改
21398
收藏 46
分类专栏: c++学习 文章标签: c++
版权
c++学习
专栏收录该内容
5 篇文章3 订阅
订阅专栏
map是c++标准库中定义的关联容器,是关键字(key)-值(value)对的结合体。本文记录其用法与案例。
1、头文件
#include <map> //stl头文件不带.h
2、初始化
map<int,string> list1;
map<int,string> list2 =
{{1,"java教程"},{2,"c++教程"},{3,"python教程"}};
map<int,string> list3 =
{pair<int,string> (1,"java教程"),pair<int,tring> (2,"c++教程")};
3、添加对象
添加元素一般使用insert函数:
map<int,int> list1;
list1.insert(pair<int,int> (1,15));
list1.insert({2,13});
//两种方式添加元素
//遍历整个list1
for (auto iter = list1.begin(); iter != list1.end(); ++iter) {
cout << iter->first << " " << iter->second << endl;
}
输出结果为:
注意:map中key的值是唯一的,如果插入一个已经存在的key值会导致原先值的覆盖,请尽量避免这样。
4、删除元素
删除元素可以使用erase函数
list1.erase(1); //括号内为key值,也就是左值
5、修改元素
可以直接根据对应的key值去修改,但是key值是不能修改的,只能更改value
map<int,int> list1;
list1.insert(pair<int,int> (1,15));
list1[1] = 5;
cout<<list1[1]; //输出结果为5而不是15
6、查找元素
可以直接通过key值查找,如果要通过value值找ksy的话需要借助find函数
map<int,int> list1 =
{{1,12},{2,15},{3,18},{4,22}};
cout<<list1[1]; //输出结果为12
cout<<list1[12]; //错误,不能直接用value值
cout<<find(12)->first; //输出1
cout<<find(1)->second; //输出12
7、其他用法
map<string,int> map_1;
map_1.clear(); //清除所有元素
map_1.empty(); //如果为空返回1,负责返回0
map_1.size(); //返回容器的元素个数
map_1.max_size; //返回容器可以容纳的最大元素
//可以用过迭代器与first,second访问元素
map_1.begin()->first; //结果为容器的第一个元素的key值
————————————————
版权声明:本文为CSDN博主「LeeMooq」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yyhyyhy/article/details/124531264
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了