unordered_map寻找value
时间: 2023-10-17 20:34:35 浏览: 84
unordered_map通过key值来寻找对应的value值。内部实现了哈希表,因此其查找速度是常量级别的,即在平均情况下可以在常数时间内完成。可以使用[ ]操作符来访问key值对应的value值,例如unomap["123"]可以获取到key为"123"的value值。所以,通过unordered_map可以高效地根据key值查找对应的value值。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [C++中的unordered_map用法详解](https://blog.csdn.net/leduoduodeai/article/details/127506165)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
相关问题
unordered_map查找value
使用unordered_map查找value,可以使用find函数或者[]操作符。find函数返回一个迭代器,如果找到了对应的key,则指向该key-value对,否则指向unordered_map的end()。[]操作符则直接返回对应key的value,如果该key不存在,则会插入一个新的key-value对,value默认初始化为对应类型的默认值。
示例代码:
```c++
#include <iostream>
#include <unordered_map>
int main() {
std::unordered_map<std::string, int> umap = {{"apple", 1}, {"banana", 2}, {"orange", 3}};
// 使用find函数查找value
auto it = umap.find("banana");
if (it != umap.end()) {
std::cout << "The value of banana is " << it->second << std::endl;
} else {
std::cout << "banana not found" << std::endl;
}
// 使用[]操作符查找value
int value = umap["orange"];
std::cout << "The value of orange is " << value << std::endl;
return 0;
}
```
unordered_map遍历value
要遍历`unordered_map`中的值(value),你可以使用迭代器来访问每个键值对,然后通过获取迭代器的值部分来访问相应的值。以下是一个示例代码:
```cpp
#include <iostream>
#include <unordered_map>
int main() {
std::unordered_map<int, std::string> myMap = {
{1, "one"},
{2, "two"},
{3, "three"}
};
// 使用迭代器遍历值
for (const auto& pair : myMap) {
const std::string& value = pair.second;
std::cout << value << std::endl;
}
return 0;
}
```
上述代码中,我们创建了一个`unordered_map`,然后使用`for`循环和迭代器遍历每个键值对。在循环中,我们通过`pair.second`来获取每个键值对的值,然后将其打印输出。
输出结果:
```
one
two
three
```
这样你就可以通过迭代器遍历`unordered_map`中的所有值了。
阅读全文