Как получить ключ из значения в QMultiMap? - PullRequest
0 голосов
/ 06 ноября 2019

У меня QMultiMap следующим образом:

QMultiMap <int, QString> paramIDMap, paramValueMap;

Мое значение "xyz", и я хочу взять его ключ.

Пример: paramIDMap.getkey("xyz") вот так

Как это сделать?

Ожидаемый вывод должен вернуть ключ.

1 Ответ

0 голосов
/ 06 ноября 2019

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].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...