Проверка существования значений в неупорядоченных картах: методы и примеры

Чтобы проверить, существует ли значение в неупорядоченной карте, вы можете использовать следующие методы:

  1. Используйте функцию find: функция findв C++ возвращает итератор для элемента, если он найден на неупорядоченной карте, и итератор для end(), если он не найден. Вы можете сравнить возвращенный итератор с end(), чтобы определить, существует ли значение.
std::unordered_map<KeyType, ValueType> myMap;
// ...
auto it = myMap.find(key);
if (it != myMap.end()) {
    // Value exists in the unordered map
} else {
    // Value does not exist in the unordered map
}
  1. Используйте функцию count: функция countвозвращает количество элементов с определенным ключом в неупорядоченной карте. Поскольку неупорядоченные карты не допускают дублирования ключей, если счетчик больше нуля, это означает, что значение существует.
std::unordered_map<KeyType, ValueType> myMap;
// ...
if (myMap.count(key) > 0) {
    // Value exists in the unordered map
} else {
    // Value does not exist in the unordered map
}
  1. Используйте operator[]: operator[]можно использовать для доступа к элементам неупорядоченной карты. Если ключ не существует, он будет вставлен в карту со значением, созданным по умолчанию. Вы можете использовать это свойство, чтобы проверить, существует ли значение.
std::unordered_map<KeyType, ValueType> myMap;
// ...
if (myMap[key] != ValueType{}) {
    // Value exists in the unordered map
} else {
    // Value does not exist in the unordered map
}

Вот некоторые методы, которые можно использовать для проверки существования значения в неупорядоченной карте в C++. Не забудьте заменить KeyTypeи ValueTypeсоответствующими типами, используемыми в вашей неупорядоченной карте.