通过HashMap C ++迭代

时间:2017-05-04 15:49:40

标签: c++ hashmap

如何遍历hashMap(C ++)以便我可以浏览所有元素?

我有这个名为map的哈希:

HashMap<std::string, int> map;

map.insert (key1, value1);
map.insert (key2, value2);
map.insert (key3, value3);

    ...
    ...
    ...

map.insert (keyN, valueN);

2 个答案:

答案 0 :(得分:0)

hash_map已被弃用,但同样的原则适用...您可以使用范围循环(在这种情况下使用 unordered_map

使用auto会使它像:

#include <iostream>
#include <string> 
#include <unordered_map>
int main()
{
    std::unordered_map<std::string, int> myMap;

    myMap.insert(std::pair<std::string, int>("a", 1));
    myMap.insert(std::pair<std::string, int>("b", 2));
    myMap.insert(std::pair<std::string, int>("c", 3));
    myMap.insert(std::pair<std::string, int>("d", 4));
    for (const auto& x : myMap)
    {
        std::cout << "fisrt: " << x.first << ", second: " << x.second << std::endl;
    }
    std::cin.get();
    return 0;
}

答案 1 :(得分:0)

如果它同时具有begin()和end()成员函数,你应该能够简单地将它放在一个范围循环中。

for (auto& entry : map)
    //whatever you want here