C++STL之map
程序员文章站
2022-09-11 20:18:40
Map简介 map型容器是(键key-值value)对的集合。map型容器通常可理解为关联数组,可使用键(key)作为下标来获取对应的值,类似于内置数组类型。关联的本质在于元素的值与某个特定的键相联系,而不是通过在数组中的位置来实现关联的。 总而言之,map是由许多对的键值组成的排序结构体,而且键值 ......
Map简介
map型容器是(键key-值value)对的集合。map型容器通常可理解为关联数组,可使用键(key)作为下标来获取对应的值,类似于内置数组类型。关联的本质在于元素的值与某个特定的键相联系,而不是通过在数组中的位置来实现关联的。
总而言之,map是由许多对的键值组成的排序结构体,而且键值是独一无二的。
multimap型容器和map型容器基本是一致的。只是前者允许重复元素,而map不允许重复。
multimap:一个key能对应多个value。
map: 一个key只能对应一个value。
成员函数简介与常用公式写法
【变量声明】
map<string, string> v1; map<int, string> v2; //不止这几类
【插入元素】
//用insert函数插入pair v.insert(pair<string, string>("r000", "student_zero")); v.insert(pair<int,string>(100,"ac")); //用"array"方式插入,这是最简单常用的方法 v["r123"] = "student_first"; v[100] = "ac";
【查找元素】
find()函数返回一个迭代器指向键值为key的元素,如果没找到就返回指向map尾部的迭代器。
map<int,string>::iterator it; it=v.find(112); if(it==v.end()) //没找到 cout<<"we do not find 112"<<endl; else cout<<"wo find 112"<<endl;
【删除元素】
map<int,string>::iterator it; it=v.find(112); if(it==v.end()) cout<<"we do not find 112"<<endl; else v.erase(it); //找到后删除112;
上一篇: 乐摇摇完成两亿元B+轮融资 专注于线下自助类设备发展
下一篇: Java基础--day03