public member function
<unordered_map>
size_type count ( const key_type& k ) const;
Count elements with a specific key
Searches the container for elements whose key is k and returns the number of elements found. Because unordered_map containers do not allow for duplicate keys, this means that the function actually returns 1 if an element with that key exists in the container, and zero otherwise.
Parameters
- k
- Key value to be searched for.
Member type key_type is the type of the keys for the elements in the container, defined in unordered_map as an alias of its first template parameter (Key).
Return value
1 if an element with a key equivalent to k is found, or zero otherwise.
Member type size_type is an unsigned integral type.
Example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
// unordered_map::count
#include <iostream>
#include <string>
#include <unordered_map>
int main ()
{
std::unordered_map<std::string,double> mymap = {
{"Burger",2.99},
{"Fries",1.99},
{"Soda",1.50} };
for (auto& x: {"Burger","Pizza","Salad","Soda"}) {
if (mymap.count(x)>0)
std::cout << "mymap has " << x << std::endl;
else
std::cout << "mymap has no " << x << std::endl;
}
return 0;
}
|
Output:
mymap has Burger
mymap has no Pizza
mymap has no Salad
mymap has Soda
|
Complexity
Average case: linear in the number of elements counted.
Worst case: linear in container size.
Iterator validity
No changes.