map根据相同的value获取key代码
时间: 2023-04-05 11:04:56 浏览: 167
HashMap根据value获取key值
可以使用循环遍历map,判断每个键值对的value是否与目标值相同,如果相同则返回对应的key。代码示例:
```
template<typename K, typename V>
K getKeyByValue(std::map<K,V> map, V value) {
for (auto const& pair : map) {
if (pair.second == value) {
return pair.first;
}
}
// 如果没有找到对应的key,则返回一个默认值
return K();
}
```
调用示例:
```
std::map<std::string, int> myMap = {{"apple", 1}, {"banana", 2}, {"orange", 3}};
std::string key = getKeyByValue(myMap, 2);
std::cout << key << std::endl; // 输出 "banana"
```
阅读全文