unordered_map是C++中的關聯式容器,它提供了一種通過鍵值對(key-value)來存儲和訪問元素的方式。unordered_map使用哈希表來實現,在大多數情況下,它提供了常數時間的元素插入、訪問和刪除操作。
unordered_map的用法如下:
#include <unordered_map>
std::unordered_map<Key, T> map;
,其中Key和T分別代表鍵和值的類型,可以是任意可哈希的類型。map.insert(std::make_pair(key, value));
或 map[key] = value;
[]
訪問元素,例如:map[key]
,如果key不存在,將會自動插入一個默認值。map.erase(key);
auto it = map.find(key);
,如果找到了,it指向該元素,否則指向map.end()。for (auto it = map.begin(); it != map.end(); ++it) {
std::cout << "Key: " << it->first << ", Value: " << it->second << std::endl;
}
或者使用范圍-based for循環:for (const auto& pair : map) {
std::cout << "Key: " << pair.first << ", Value: " << pair.second << std::endl;
}
需要注意的是,unordered_map中的元素是無序存儲的,所以無法保證元素的順序。如果需要按特定順序訪問元素,可以考慮使用std::map。