C++ unordered_multimap::count() 函式



C++ 的unordered_multimap::count()函式用於返回與鍵k關聯的對映值的個數。如果鍵k不存在於unordered_multimap中,則返回零;否則,返回總個數。

語法

以下是unordered_multimap::count()函式的語法:

size_type count(const key_type& k) const;

引數

  • k - 表示要搜尋的鍵值。

返回值

如果容器包含與鍵k關聯的值,則返回1;否則返回0。

示例1

在下面的示例中,讓我們演示count()函式的用法。

#include <iostream>
#include <unordered_map>
using namespace std;
int main(void) {
   unordered_multimap<char, int> umm = {
      {'a', 1},
      {'b', 2},
      {'c', 3},
      {'b', 2},
      {'c', 3},
      {'d', 4},
      {'e', 5}
   };
   int t_b = umm.count('b');
   int t_z = umm.count('z');
   cout<<"Total number of key b: "<<t_b<<endl;
   cout<<"Total number of key z: "<<t_z<<endl;
   return 0;
}

輸出

如果執行上述程式碼,它將生成以下輸出:

Total number of key b: 2
Total number of key z: 0

示例2

考慮以下示例,我們將使用count()函式來添加出現次數大於或等於2的關聯鍵的值。

#include <iostream>
#include <unordered_map>
using namespace std;
int main(void) {
   unordered_multimap<int, int> umm = {
      {10, 1},
      {10, 2},
      {20, 3},
      {10, 4},
      {30, 5}
   };
   int valueSum = 0;
   for(auto& it: umm) {
      if(umm.count(it.first)>=2){
         valueSum = valueSum + it.second;
      }
   }
   cout<<"addition of key that occurs more than or equal to 2 time: " <<valueSum<<endl;
   return 0;
}

輸出

以下是上述程式碼的輸出:

addition of key that occurs more than or equal to 2 time: 7

示例3

讓我們看看下面的示例,我們將顯示如果與鍵關聯的值的總數大於或等於2的鍵值對。

#include <iostream>
#include <unordered_map>
using namespace std;
int main(void) {
   unordered_multimap<char, int> umm = {
      {'a', 1},
      {'b', 2},
      {'c', 3},
      {'d', 4},
      {'b', 2},
      {'c', 3},
      {'d', 4},
   };
   for(auto& it: umm){
     if(umm.count(it.first) >=2)
        cout<<it.first<<" : "<<it.second<<endl;  
   }
   return 0;
}

輸出

上述程式碼的輸出如下:

d : 4
d : 4
c : 3
c : 3
b : 2
b : 2
廣告