C++ unordered_map::count() 函数



C++ 的unordered_map::count()函数用于返回与键关联的映射值的个数k。这意味着此函数仅给出 1 或 0 的值,因为容器不允许重复键,如果容器中存在具有该键的元素,则返回 1,否则返回 0。

换句话说,此容器不允许重复值,因此 count() 函数始终返回 0 或 1。

语法

以下是 unordered_map::count() 函数的语法

size_type count(const key_type& k) const;

参数

  • k - 它表示需要在 unordered_map 中返回的计数。

返回值

如果容器具有与键 k 关联的值,则返回 1,否则返回 0。

示例 1

在以下示例中,让我们看一下 unordered_map::count() 函数的基本用法,如下所示

#include <iostream>
#include <unordered_map>
using namespace std;
int main(void) {
   unordered_map<char, int> um = {
      {'a', 1},
      {'b', 2},
      {'c', 3},
      {'d', 4},
      {'e', 5}
   };
   if (um.count('a') == 1) {
      cout << "um['a'] = " << um.at('a') << endl;
   }
   if (um.count('z') == 0) {
      cout << "Value not present for key um['z']" << endl;
   }
   return 0;
}

输出

以下是上述代码的输出:

um['a'] = 1
Value not present for key um['z']

示例 2

考虑以下示例,我们使用 unordered_map::count() 函数来查找指定的键是否存在,如下所示

#include <iostream>
#include <unordered_map>
using namespace std;
int main(void) {
   unordered_map<char, int> um = {
      {'a', 1},
      {'b', 2},
      {'c', 3},
      {'d', 4},
      {'e', 5}
   };
   int count1 = um.count('b');
   cout<<"the count value of b is: "<<count1<<endl;
   int count2 = um.count('z');
   cout<<"the count value of z is: "<<count2;
   return 0;
}

输出

上述代码的输出如下:

the count value of b is: 1
the count value of z is: 0

示例 3

让我们看一下以下示例,我们将在 if 条件中使用 unordered_map::count() 函数来显示与键关联的值k,如下所示

#include <iostream>
#include <string>
#include <unordered_map>
using namespace std;
int main () {
   unordered_map<int, string> Umap;
   Umap[1] = "tutorialspoint";
   Umap[2] = "Hyderabad India";
   Umap[3] = "Tutorix";
   Umap[4] = "Noida India";
   if(Umap.count(1)==1 && Umap.count(2)==1){
      cout<<Umap.at(1)<<" "<<Umap.at(2)<<endl;
   }
   return 0;
}

输出

如果我们运行上述代码,它将生成以下输出:

tutorialspoint Hyderabad India
广告

© . All rights reserved.