unordered_map查找key对应的value
时间: 2023-11-11 15:04:50 浏览: 90
unordered_map是C++ STL中的一个关联容器,它提供了一种通过键值快速查找值的方法。在unordered_map中,每个元素都是一个键值对,其中键是唯一的,而值可以重复。要查找key对应的value,可以使用unordered_map的find()函数,该函数返回一个指向key对应的value的迭代器,如果key不存在,则返回unordered_map的end()迭代器。下面是一个示例代码:
```
#include <iostream>
#include <unordered_map>
using namespace std;
int main() {
unordered_map<string, int> myMap = {{"apple", 1}, {"banana", 2}, {"orange", 3}};
string key = "banana";
auto it = myMap.find(key);
if (it != myMap.end()) {
cout << "The value of " << key << " is " << it->second << endl;
} else {
cout << "Key not found" << endl;
}
return 0;
}
```
输出结果为:
```
The value of banana is 2
```
相关问题
unordered_map查找key
unordered_map是C++标准库中的一个关联容器,用于存储键值对。要查找一个键对应的值,可以使用以下方法:
```cpp
#include <unordered_map>
#include <iostream>
int main() {
std::unordered_map<std::string, int> myMap;
// 向unordered_map中插入键值对
myMap["apple"] = 5;
myMap["banana"] = 3;
myMap["orange"] = 7;
// 查找特定的键
std::string key = "banana";
auto it = myMap.find(key);
// 判断查找结果
if (it != myMap.end()) {
std::cout << "Found value for key '" << key << "': " << it->second << std::endl;
} else {
std::cout << "Key '" << key << "' not found." << std::endl;
}
return 0;
}
```
在这个例子中,我们创建了一个`unordered_map`对象`myMap`,并插入了一些键值对。然后,我们使用`find`方法来查找特定的键`"banana"`。如果找到了对应的键值对,`find`方法会返回一个指向该键值对的迭代器,可以通过`->second`来访问对应的值。如果找不到指定的键,则返回`myMap.end()`。
unordered_map访问key和value
unordered_map是一个将key和value关联起来的容器,可以使用可以通过hash函数得到key对应的hash值,然后根据hash值找到对应的bucket索引号,再比较bucket内元素的key值是否与要查找的key值相等,若相等则取出对应的value值。在使用unordered_map时,可以使用emplace函数来插入一个元素,也可以直接写上key和value的值插入元素。通过使用