卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章74532本站已运行437

unorderedmap判断是否存在key

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

unorderedmap判断是否存在key

如何在 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() 方法更合适。

卓越飞翔博客
上一篇: unordered_map是什么
下一篇: 返回列表
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏