QMultiHash
时间: 2024-01-09 10:38:04 浏览: 73
c++ qt 笔记 qt 笔记
QMultiHash 是 Qt 框架中的一个容器类,用于存储键值对的数据结构。它可以保存多个值与一个键关联,并支持快速查找和访问这些值。
QMultiHash 的特点是可以将多个值与一个键关联起来,这些值可以是相同的或不同的。在插入时,它会自动将相同键的值添加到同一个键下面。
你可以使用 QMultiHash 的 insert() 函数向容器中添加键值对,使用 values() 函数获取与指定键关联的所有值,使用 remove() 函数删除与指定键关联的所有值,使用 contains() 函数判断是否包含指定键,使用 count() 函数获取与指定键关联的值的数量。
以下是 QMultiHash 的简单示例代码:
```
#include <QMultiHash>
#include <QString>
#include <QDebug>
int main()
{
QMultiHash<QString, int> multiHash;
multiHash.insert("apple", 1);
multiHash.insert("apple", 2);
multiHash.insert("banana", 3);
QList<int> appleValues = multiHash.values("apple");
qDebug() << "Values for key 'apple': " << appleValues;
multiHash.remove("apple");
bool containsBanana = multiHash.contains("banana");
qDebug() << "Contains key 'banana': " << containsBanana;
int bananaCount = multiHash.count("banana");
qDebug() << "Count for key 'banana': " << bananaCount;
return 0;
}
```
运行上述代码将输出以下结果:
```
Values for key 'apple': (1, 2)
Contains key 'banana': true
Count for key 'banana': 1
```
这是 QMultiHash 的基本用法,你可以根据需要使用其他函数进行更多操作。希望能对你有所帮助!如果还有其他问题,请随时提问。
阅读全文