判断 unordered_map 是否存在 key 可通过两种方法:使用 count() 方法:参数为键,返回键关联值计数,0 表示不存在。使用 find() 方法:参数为键,返回迭代器指向键值,end() 迭代器表示不存在。

如何在 unordered_map 中判断是否存在 key
unordered_map 是一种高效的数据结构,它使用哈希表来存储键值对。与其他容器类型不同,unordered_map 没有内置的方法来检查键是否存在。
count() 方法
要判断 unordered_map 中是否存在某个键,可以使用 count() 方法。该方法接受一个键作为参数,并返回与该键关联的值的计数。如果键不存在,count() 将返回 0。
<code class="cpp">#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
}</code>find() 方法
另一种检查键是否存在的方法是使用 find() 方法。find() 方法接受一个键作为参数,并返回指向关联值的迭代器。如果键不存在,find() 将返回 end() 迭代器。
<code class="cpp">#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 {
// 键不存在
}
}</code>哪种方法更好?
count() 方法比 find() 方法更轻量级,因为它只返回一个计数而不是迭代器。但如果需要访问键的值,那么 find() 方法更合适。
以上就是unorderedmap判断是否存在key的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号