如何从 QMultiMap 中的值中获取键?

How to get key from value in QMultiMap?

我有如下QMultiMap:

QMultiMap <int, QString> paramIDMap, paramValueMap;

我的值为"xyz",我想拿走它的钥匙。

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

如何操作?

预期输出应 return 键。

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