-1

我有 QMultiMap 如下:

QMultiMap <int, QString> paramIDMap, paramValueMap;

我的价值是“xyz”,我想把它作为关键。

示例:paramIDMap.getkey("xyz")像这样

这个怎么做?

预期的输出应该返回键。

4

1 回答 1

1

QMultiMap旨在存储键值对,以便通过键快速查找,其中一个键可以有多个值。从 QMap 继承的QList QMap::keys(const T &value) const方法将返回特定值的键的 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]。

于 2019-11-06T20:41:49.597 回答