QT中更新MultiMap指定key的值,请给我详细代码
时间: 2024-02-24 11:53:40 浏览: 100
C++multimap介绍及详细使用示例(源代码)
在QT中,我们可以通过QMultiMap的insert()方法来更新MultiMap中指定key的值。具体的操作方法是先删除指定key的所有键值对,然后再插入新的键值对。
下面是一个示例代码:
```cpp
#include <QtMultiMap>
int main() {
QMultiMap<QString, int> map;
// 插入键值对
map.insert("apple", 1);
map.insert("banana", 2);
map.insert("apple", 3);
// 输出所有键值对
foreach(QString key, map.keys()) {
QList<int> values = map.values(key);
foreach(int value, values) {
qDebug() << key << ":" << value;
}
}
// 更新键为"apple"的值为4
QString key = "apple";
int newValue = 4;
// 删除指定key的所有键值对
map.remove(key);
// 插入新的键值对
map.insert(key, newValue);
// 输出更新后的所有键值对
foreach(QString key, map.keys()) {
QList<int> values = map.values(key);
foreach(int value, values) {
qDebug() << key << ":" << value;
}
}
return 0;
}
```
在这个示例代码中,我们先插入了三个键值对,然后输出了所有的键值对。接着,我们更新了键为"apple"的值为4,具体的操作是先删除键为"apple"的所有键值对,然后再插入键为"apple"值为4的键值对。最后,我们再次输出了所有的键值对,可以看到键为"apple"的值已经更新为4了。
阅读全文