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 © 2024
京ICP备05028076号