【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

posted on   zxddesk  阅读(449)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示