C++ Unordered_multimap::count() Function
The C++unordered_multimap::count()function is used to return the number of mapped values associated with keyk. If the key is not present in the unordered_multimap, then it returns zero otherwise, it returns a total number.
Syntax
Following is the syntax of unordered_multimap::count() function
size_type count(const key_type& k) const;
Parameters
- k − It indicates the key value to be searched for.
Return value
Returns 1 if container has value associated with key k otherwise 0.
Example 1
In the following example, let's demonstrate the usages of count() function.
#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;
}
Output
If we run the above code it will generate the following output −
Total number of key b: 2 Total number of key z: 0
Example 2
Consider the following example, where we are going to use the count() function to add the value of the associated key that occurs more than or equal to 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;
}
Output
Following is the output of the above code −
addition of key that occurs more than or equal to 2 time: 7
Example 3
Let's look at the following example, where we are going to display the key/value pairs if the total number of values associated with the key is more than or equal to 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;
}
Output
Output of the above code is as follows −
d : 4 d : 4 c : 3 c : 3 b : 2 b : 2