如何在 unordered_map 中判断是否存在 key
unordered_map 是一种高效的数据结构,它使用哈希表来存储键值对。与其他容器类型不同,unordered_map 没有内置的方法来检查键是否存在。
count() 方法
要判断 unordered_map 中是否存在某个键,可以使用 count() 方法。该方法接受一个键作为参数,并返回与该键关联的值的计数。如果键不存在,count() 将返回 0。
#include <unordered_map>
int main() {
std::unordered_map<int int> my_map;
my_map[1] = 100;
bool key_exists = my_map.count(1); // true
bool key_not_exists = my_map.count(2); // false
}</int></unordered_map>
find() 方法
另一种检查键是否存在的方法是使用 find() 方法。find() 方法接受一个键作为参数,并返回指向关联值的迭代器。如果键不存在,find() 将返回 end() 迭代器。
#include <unordered_map>
int main() {
std::unordered_map<int int> my_map;
my_map[1] = 100;
auto it = my_map.find(1); // 迭代器指向键 1 的值
if (it != my_map.end()) {
// 键存在
} else {
// 键不存在
}
}</int></unordered_map>
哪种方法更好?
count() 方法比 find() 方法更轻量级,因为它只返回一个计数而不是迭代器。但如果需要访问键的值,那么 find() 方法更合适。
以上就是unorderedmap判断是否存在key的详细内容,更多请关注知识资源分享宝库其它相关文章!
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。