2014年02月18日 星期二 09:27
QHash是Qt Core模块提供的哈希表数据结构,类似C++11标准的unordered_map,一般来说,哈希表的查找的算法复杂度比基于平衡树的map要好。在Qt的官方文档中,有如下说明:
QHash也是一个模板类,使用方法很简单,代码示例如下:
#include <QCoreApplication>
#include <QHash>
#include <QString>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QHash<QString,QString> friends;
friends["mengguang"]="mengguang@gmail.com";
qDebug() << friends;
friends.insert("mengkang","mengkang@163.com");
qDebug() << friends;
QString name("mengkang");
if(friends.contains(name)){
qDebug() << friends[name];
}
qDebug() << friends.value("laomeng","nonexists@gmail.com");
qDebug() << friends.capacity();
for(auto email : friends){
qDebug() << email;
}
for(auto name : friends.keys()){
qDebug() << name;
qDebug() << friends.value(name);
}
friends.remove("mengguang");
qDebug() << friends;
friends.clear();
return a.exec();
}
参考资料:
http://qt-project.org/doc/qt-4.8/qhash.html
http://www.cplusplus.com/reference/unordered_map/unordered_map/
2014年02月22日 星期六 00:55
cool
Zeuux © 2025
京ICP备05028076号