简介
它是一个关联容器,内部采用的是hash表结构,拥有快速检索的功能。它有如下特性:
- 关联性:通过key去检索value,而不是通过绝对地址(和顺序容器不同);
- 无序性:使用hash表存储,内部无序
- Map : 每个值对应一个键值
- 键唯一性:不存在两个元素的键一样
- 动态内存管理:使用内存管理模型来动态管理所需要的内存空间
使用
#include <unordered_map>
unordered_map<const Key, T> mp;//定义
unordered_map<int,int> mp;//定义
unordered_map<key,T>::iterator it;//迭代器
(*it).first; //key值
it->first; //key值
(*it).second //value值
it->second //value值
mp.clear(); //清空
mp[key_new] = value_new;//数组形式插入
mp.insert({key_new,value_new});//初始化数组插入
auto iter = mp.find(value); //通过值查找并返回迭代器
iter!=mp.end();//代表没有找到
mp.at(key) = value; //修改
mp.erase(key); //通过key删除
mp.erase(mp.begin()); //通过位置删除
例题
- 两数之和(力扣);