QT —— <QHash> 存储 & 使用 & 遍历

1. 定义:QHash <Key,T>  存储 (键,值) 对,并提供与键相关的值的非常快速的查找。

2. QHash 和 QMap 比较:  QHash提供与QMap非常相似的功能。 不同之处是:

  •     QHash提供比QMap更快的查找。
  •     迭代器遍历QMap时 ,项(items)始终按键排序。 使用QHash ,这些项是任意排序的。
  •     QMap的键类型必须提供运算符 <() 。 QHash的键类型必须提供运算符 ==() 和一个名为 qHash() 的全局哈希函数。

一、示例

#include <QCoreApplication>
#include <QHash>
#include <QHashIterator>
#include <QDebug>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    
    QHash<QString, int> hash;      //定义hash, key:QString, value:int
    
    hash["one"] = 1;               //插入数据,方法1: value: <"one",1>
    hash.insert("two", 2);         //插入数据,方法2: value: <"two",2> 
                                   //insert方法进行插入的,每个键只允许一个值
                                   //如果一个键插入多个值,使用QHash::insertMulti(const Key &key, const T &value)


    int num1 = hash["one"];         //获取数据,方法1: value: 1
    int num2 = hash.value("two");   //获取数据,方法2: value: 2
    
    int time = 30;
    if (hash.contains("time"))          //查询数据,方法1: value: time  = 30
    {
        time = hash.value("time");
    }                                 
    
    int time2 = hash.valu
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值