map<int ,string> myMap;
插入
1、下标操作:
myMap[1]='a'; myMap["a"]='a';
2、insert操作:
myMap.insert(pair<int, string>(i,&str[i]))
要注意下
map<string, string> myMap1;
myMap1["a"]='0'; //不会报错,而myMap1['a']='0'; 会报类型错误
查找
1、find返回迭代器,map<int ,string>::iterator it;
myMap.find(2) 会返回迭代器
2、count(key),count只返回1和0;
删除
myMap.erase(key);
删除符合key前的数据
it = myMap.begin();
while( (it != myMap.end()) && (it->first != 2)){
myMap.erase(it->first);
it++;
}
遍历
it->first 返回key,it->second返回value
map<int ,string>::iterator it;
it = myMap.begin();
while(it != myMap.end()){
cout<<it->first<<" "<<it->second<<endl;
it++;
}
其他
C++ maps是一种关联式容器,包含“关键字/值”对
begin() 返回指向map头部的迭代器
clear() 删除所有元素
count() 返回指定元素出现的次数
empty() 如果map为空则返回true
end() 返回指向map末尾的迭代器
equal_range() 返回特殊条目的迭代器对
erase() 删除一个元素
find() 查找一个元素
get_allocator() 返回map的配置器
insert() 插入元素
key_comp() 返回比较元素key的函数
lower_bound() 返回键值>=给定元素的第一个位置
max_size() 返回可以容纳的最大元素个数
rbegin() 返回一个指向map尾部的逆向迭代器
rend() 返回一个指向map头部的逆向迭代器
size() 返回map中元素的个数
swap() 交换两个map
upper_bound() 返回键值>给定元素的第一个位置
value_comp() 返回比较元素value的函数