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 中返回的计数。

Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.

返回值

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

示例 1

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

Open Compiler
#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() 函数来查找指定的键是否存在,如下所示

Open Compiler
#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,如下所示

Open Compiler
#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
广告