【知识记录】QHash 获取内部全部数据的常用方法

时间:2022-08-29 16:49:29

先简单说一下QHash,QHash类是一个模板类, 它提供了一个hash-table-based字典,一般表述为<Key-Value>,也就是“键-值对”,通过Qt 的API 我们可以快速的学会并使用,示例:

void demoFunction()
{
    QHash<QString, int> hash;  // 定义一个hash,key:QString value:int

    hash["one"] = 1;    // 插入数据 方法1
    hash["three"] = 3;
    hash["seven"] = 7;
    hash.insert("twelve", 12);  // 插入数据 方法2

    int num1 = hash["thirteen"];   // 获取数据 方法1
    int num2 = hash.value("thirteen"); // 获取数据 方法2

    // 使用迭代的方法获取数据
    QHash<QString, int>::const_iterator i = hash.constBegin();
    while (i != hash.constEnd()) 
    {
        cout << i.key() << ": " << i.value() << endl;
        ++i;
    }

    // 使用QList的方法获取数据
    QList<int> list = hash.values("plenty");
    for (int i = 0; i < values.size(); ++i)
    {
        cout << list.at(i) << endl;
    }
}