如何在 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的详细内容,更多请关注知识资源分享宝库其它相关文章!
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。