QTmultimap
时间: 2023-08-26 12:16:23 浏览: 48
QTmultimap 是 Qt 框架中的一个类,它是一个有序的键值对容器,允许一个键对应多个值。它是基于红黑树实现的,可以快速地插入、查找和删除元素。与 QMap 相比,QTmultimap 允许一个键对应多个值,而 QMap 只允许一个键对应一个值。
使用 QTmultimap,您可以按照键的顺序存储数据,并且可以使用迭代器按顺序遍历元素。您可以使用 insert() 函数向 QTmultimap 中插入键值对,使用 find() 函数查找特定的键或值,使用 remove() 函数删除指定的键值对。
下面是一个使用 QTmultimap 的简单示例:
```cpp
#include <QMultiMap>
#include <QDebug>
int main() {
QMultiMap<int, QString> multiMap;
multiMap.insert(1, "apple");
multiMap.insert(2, "banana");
multiMap.insert(2, "blueberry");
multiMap.insert(3, "cherry");
qDebug() << "All values for key 2:";
QMultiMap<int, QString>::iterator it;
for (it = multiMap.find(2); it != multiMap.end() && it.key() == 2; ++it) {
qDebug() << it.value();
}
return 0;
}
```
输出结果为:
```
All values for key 2:
"banana"
"blueberry"
```
这个示例演示了如何使用 QTmultimap 存储键值对,并根据特定的键查找所有对应的值。