Метод count
Метод count класса unordered_map возвращает
количество элементов с заданным ключом. Так как
в контейнере unordered_map все ключи уникальны,
метод может вернуть только 0 или 1. В первый
и единственный параметр мы передаем ключ, наличие
которого нужно проверить.
Синтаксис
umap.count(key)
Пример
Давайте создадим словарь и проверим наличие
в нем ключа "b":
#include <iostream>
#include <unordered_map>
using namespace std;
int main()
{
unordered_map<string, int> umap = {
{"a", 1},
{"b", 2},
{"c", 3}
};
cout << umap.count("b") << endl;
return 0;
}
Результат выполнения кода:
1
Пример
А теперь проверим ключ, которого нет в словаре:
#include <iostream>
#include <unordered_map>
using namespace std;
int main()
{
unordered_map<string, int> umap = {
{"a", 1},
{"b", 2},
{"c", 3}
};
cout << umap.count("d") << endl;
return 0;
}
Результат выполнения кода:
0
Пример
Метод count удобно использовать в условии
для проверки наличия ключа перед обращением
к элементу:
#include <iostream>
#include <unordered_map>
using namespace std;
int main()
{
unordered_map<string, int> umap = {
{"a", 1},
{"b", 2},
{"c", 3}
};
string key = "b";
if (umap.count(key)) {
cout << "Key exists: " << umap[key] << endl;
} else {
cout << "Key not found" << endl;
}
return 0;
}
Результат выполнения кода:
"Key exists: 2"
Смотрите также
-
класс
unordered_map,
который представляет собой хеш-таблицу -
метод
find,
который ищет элемент по ключу -
метод
contains,
который проверяет наличие ключа -
метод
at,
который возвращает значение по ключу