请列出QT中MultiMap数据结构的常用方法,并给出详细代码
时间: 2024-02-24 21:53:39 浏览: 70
常用数据结构的c++实现。.zip
QT中的MultiMap数据结构是一个键值对的容器,其中每个键可以对应多个值。常用的方法包括:
1. insert(key, value):向MultiMap中插入一个键值对。
2. insertMulti(key, value):向MultiMap中插入一个键可以对应多个值的键值对。
3. remove(key):从MultiMap中删除所有键为key的键值对。
4. remove(key, value):从MultiMap中删除键为key同时值为value的键值对。
5. values(key):返回MultiMap中所有键为key的值的列表。
6. keys():返回MultiMap中所有键的列表。
7. isEmpty():判断MultiMap是否为空。
8. size():返回MultiMap中键值对的数量。
下面是一个使用MultiMap的示例代码:
```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"的所有键值对
map.remove("apple");
// 判断MultiMap是否为空
if(map.isEmpty()) {
qDebug() << "MultiMap is empty";
}
return 0;
}
```
阅读全文