首页 > 技术文章 > map学习笔记

javier2018 2018-03-11 16:08 原文

map是一个键-值(key-value)映射容器。

形式有

map<int,int> mp;
map<double,string> mp;
map<string,int> mp;
map<<set<int>,string> mp;

还有很多,这里只是举例。

map是可以通过下标访问。比如:map["abc"] = 5,不要觉得奇怪这是可能的也是可以的!

一定要记住键是唯一的,就好像数学的函数里一个x只能对应一个y一样。要是出现了

map['c'] = 20;
map['c'] = 30;

那么20一定会被覆盖,最后map['c']对应的值是30。

map的迭代器定义与其他STL容器一样:

map<typename1,typename2>::iterator it;

但有一点要特别说一下map迭代器的是使用方式很独特的:it->first 用来访问键;it->second 用来访问值。


接下来说一下,map的常用功能函数。

1、find(key);返回的是迭代器!!若是没找到目标键返回mp.end()。

2、erase(it);或 erase(key);或 erase(first,last); 三种写法。

3、size();返回键值对的个数

4、clear();清空map

用法和其他的STL差不多,这里不加一赘述。


用途:

①建立字符(字符串)、浮点数与整数之间的映射关系。

②判断大整数或者其他类型数据是否存在的题目。

③字符串与字符串之间的映射。

 

推荐阅读