6.4 map的常用用法详解
map可以将任何基本类型(包括STL容器)映射到任何基本类型(包括STL容器)
1. map的定义
map<typename1, typename2> mp;
注:如果是字符串到整型的映射,必须使用string而不能用char数组
2. map容器内元素的访问
(1). 通过下标访问
和访问普通的数组是一样的
(2). 通过迭代器访问
map<typename1, typename2>::iterator it;
map可以使用it->first来访问键,使用it->second来访问值
map会以键从小到大的顺序自动排序
3. map常用函数实例解析
(1). find(key) 返回键为key的映射的迭代器
(2). mp.,erase(it) it为需要删除的元素的迭代器
mp.erase(key) key为欲删除的映射的键
mp.erase(firat, last) first为需要删除的区间的起始迭代器,last为需要删除的区间的末尾迭代器的下一个地址,即为 区间[first, lasts)
(3). size() 用来获得map中映射的对数
(4). clear() 用来清空map中的所有元素
4. map的常见用途
(1). 需要建立字符与整数之间映射的题目
(2). 判断大整数或者其他类型数据是否存在的题目
(3). 字符串和字s符串的映射也有可能会遇到
例题:
map中元素的个数为: 3
遍历整个map
aa:1
bb:2
cc:3
观察插入map元素可知,map会以键从小到大的顺序自动排序
map中包含aa这个键
map中不包含aa这个键
map中元素的个数为: 2