unordered_map怎么获取
时间: 2023-11-06 07:06:39 浏览: 56
unordered_map可以通过以下几种方法来获取元素:
1. 使用成员函数find(key),返回一个指向元素的迭代器,如果找不到key,则返回end()迭代器。
2. 使用成员函数count(key),返回key在unordered_map中出现的次数(由于unordered_map中的元素是唯一的,所以只能是0或1)。
3. 使用成员函数operator[],可以通过键值直接访问和修改元素。如果key不存在,则会自动插入一个新元素。
相关问题
unordered_map 获取
unordered_map 是 C++ 标准库中的一个容器,它提供了一种将键与值关联起来的方式。通过使用哈希函数,unordered_map 可以实现快速的插入、查找和删除操作。
要使用 unordered_map,需要包含 <unordered_map> 头文件,并使用命名空间 std。
下面是一个使用 unordered_map 的示例:
```cpp
#include <iostream>
#include <unordered_map>
int main() {
// 创建一个 unordered_map
std::unordered_map<std::string, int> myMap;
// 插入键值对
myMap["one"] = 1;
myMap["two"] = 2;
myMap["three"] = 3;
// 访问元素
std::cout << "The value of key 'two' is: " << myMap["two"] << std::endl;
// 迭代遍历
for (const auto& pair : myMap) {
std::cout << "Key: " << pair.first << ", Value: " << pair.second << std::endl;
}
return 0;
}
```
输出结果为:
```
The value of key 'two' is: 2
Key: three, Value: 3
Key: one, Value: 1
Key: two, Value: 2
```
unordered_map 获取 keys
要获取 `unordered_map` 中的所有键(keys),可以使用一个循环遍历来实现。以下是一个示例代码:
```cpp
#include <iostream>
#include <unordered_map>
#include <vector>
int main() {
std::unordered_map<int, std::string> myMap;
myMap[1] = "apple";
myMap[2] = "banana";
myMap[3] = "orange";
// 获取所有的键
std::vector<int> keys;
for (const auto& pair : myMap) {
keys.push_back(pair.first);
}
// 打印所有的键
for (const auto& key : keys) {
std::cout << key << " ";
}
std::cout << std::endl;
return 0;
}
```
输出结果:
```
1 2 3
```
在这个例子中,我们首先创建了一个 `unordered_map`,并插入了一些键值对。然后,我们使用一个循环遍历 `myMap`,将每个键存储在 `keys` 向量中。最后,我们再次使用循环遍历 `keys` 向量,并打印出每个键。这样就可以获取到 `unordered_map` 中的所有键了。