map
来源:互联网 发布:曼秀雷敦护手霜 知乎 编辑:程序博客网 时间:2024/06/03 21:36
map介绍
- 使用map得包含map类所在的头文件
#include <map>
- 定义一个map对象:
map<string,int> mapTest; //用string作为索引,存储int对象 <key,value>
插入数据
1. mapTest["aaa"] = 100;2. mapTest.insert(map<string,int>::value_type("bbb",200));3. mapTest.insert(pair<string,int>("ddd",400));4. mapTest.insert(make_pair<string,int>("ccc",300));
插入到map容器内部的元素默认是按照key从小到大来排序
这就要求key运算符一定要重载‘<’运算符
int main(void){ map<string, int> mapTest; mapTest["aaa"] = 100; mapTest["aaa"] = 1000; //!<中括号可以更新value的值 mapTest["eee"] = 500; mapTest.insert(map<string, int>::value_type("bbb", 200)); mapTest.insert(map<string, int>::value_type("bbb", 2000)); //!<不允许插入 mapTest.insert(pair<string, int>("ddd", 400)); mapTest.insert(pair<string, int>("ddd", 4000)); //!<不允许插入 mapTest.insert(make_pair<string, int>("ccc", 300)); mapTest.insert(make_pair<string, int>("ccc", 3000)); //!<不允许插入 map<string, int>::const_iterator it; for (it = mapTest.begin(); it != mapTest.end(); ++it) { cout << it->first << '\t' << it->second << endl; } return 0;}
输出结果:
查找与修改
1. mapTest["aaa"] = 100;2. map<string,int>::iterator it = mapTest.find("aaa");3. it->second = 666;
int main(void){ map<string, int> mapTest; mapTest["aaa"] = 100; mapTest.insert(map<string, int>::value_type("bbb", 200)); mapTest.insert(pair<string, int>("ddd", 400)); mapTest.insert(make_pair<string, int>("ccc", 300)); int n = mapTest["bbb"]; //访问bbb所对应的值 mapTest["bbb"] = 2000; //修改bbb所对应的值 map<string, int>::iterator it; it = mapTest.find("ccc"); //查找索引ccc if (it != mapTest.end()) //找到了索引ccc { it->second = 3000; } else //未找到索引ccc { cout << "not found" << endl; } for (it = mapTest.begin(); it != mapTest.end(); ++it) { cout << it->first << '\t' << it->second << endl; } return 0;}
输出结果:
删除
1. mapTest.erase("aaa");2. mapTest.erase(it);
int main(void){ map<string, int> mapTest; mapTest["aaa"] = 100; mapTest.insert(map<string, int>::value_type("bbb", 200)); mapTest.insert(pair<string, int>("ddd", 400)); mapTest.insert(make_pair<string, int>("ccc", 300)); mapTest.erase("bbb"); map<string, int>::iterator it; it = mapTest.find("ccc"); if (it != mapTest.end()) { mapTest.erase(it); } for (it = mapTest.begin(); it != mapTest.end(); ++it) { cout << it->first << '\t' << it->second << endl; } return 0;}
输出结果:
0 0
- map
- MAP
- map
- MAP
- map
- map
- map
- Map
- Map
- Map
- map
- map
- Map
- .map
- map
- MAP
- map
- Map
- Hadoop2.7.1运行wordcount
- tomcat 日志信息
- codeforces #334 div1 B 603B Moodular Arithmetic(数论)
- Android 6.0 源代码编译实践
- 队列应用-素数环问题
- map
- float浮点数的内存格式
- Codeforces 603A Alternative Thinking(字符串规律)
- Java语言基础之String,StringBuffer,StringBulider
- 关于ALAssetsLibrary的学习
- long start time
- Adreno Profiler分析任意安卓游戏特效+抓取资源
- HashSet,TreeSet和LinkedHashSet的区别
- 深入理解Java:内省(Introspector)