У меня QMultiMap следующим образом:
QMultiMap <int, QString> paramIDMap, paramValueMap;
Мое значение "xyz", и я хочу взять его ключ.
Пример: paramIDMap.getkey("xyz") вот так
paramIDMap.getkey("xyz")
Как это сделать?
Ожидаемый вывод должен вернуть ключ.
QMultiMap предназначен для хранения пар ключ-значение для быстрого поиска по ключу, где ключ может иметь несколько значений. Метод QList QMap :: keys (const T & value) const , унаследованный от QMap, вернет QList ключей для определенного значения. Это не будет быстрый поиск, а временная сложность будет линейной.
QMultiMap <int, QString> paramIDMap; paramIDMap.insert(1,"a"); paramIDMap.insert(1,"b"); paramIDMap.insert(2,"a"); paramIDMap.insert(2,"b"); QList<int> ks = paramIDMap.keys("a");
Который ks будет содержать [1,2].
ks