QMap简单用法
来源:互联网 发布:当前支付宝的淘宝账户 编辑:程序博客网 时间:2024/06/04 01:10
QMap提供了一个从类项为key的键到类项为T的直的映射,通常所存储的数据类型是一个键对应一个直,并且按照Key的次序存储数据,这个类也支持一键多值的情况,用类QMultiMap
QHash具有和QMap几乎完全一样的APi,此类维护这一张哈希表,表的大小和数据项是自适应的,QHash是以任意的顺序住址他的数据,,当然了他也是可以支持一键多值的,QMultiHash
两种之间的区别是:
QHash查找速度上显著于QMap
QHash以任意的方式进行存储,而QMap则是以key顺序进行存储.
Qhash 的键类型必须提供operator==()和yige 全局的qHash(key)函数。而QMap的键类型key必须提供operator<()函数.
他们同样也是有两种风格的迭代容器。用来进行遍历的。
///QMap<Key,T(value)> and QHash<K,T>#include <QtCore/QCoreApplication>#include <qmap.h>#include <qdebug.h>int main(int argc, char *argv[]){QCoreApplication a(argc, argv);QMap<QString,int> map;map.insert("eins o",1);map.insert("sieben",7);map["a test"]=23;//Normally, a QMap allows only one value per key. //If you call insert() with a key that already exists in the QMap, //the previous value will be erasedmap["a test"]=13;int val=map.value("a test");qDebug()<<val;int val2=map.value("error");qDebug()<<val2; ///0int val3=map.value("error2",20);qDebug()<<val3;int val4=map.value("a test",40);qDebug()<<val4;////using a java-style iteratorQMapIterator<QString,int> iter(map);while(iter.hasNext()){iter.next(); ///放在前面qDebug()<<iter.key()<<" "<<iter.value();}////using an Stl-style iterator QMap<QString,int>::ConstIterator i=map.constBegin();while(i!=map.constEnd()){qDebug()<<i.key()<<": "<<i.value();++i;}QMap<QString,int>::Iterator it;it=map.find("sieben");if(it!=map.end())it.value()=8;for(QMap<QString,int>::ConstIterator ite=map.constBegin(); ite!=map.constEnd(); ++ite)qDebug()<<ite.key()<<": "<<ite.value();return 0;//a.exec();}结果:
13
0
20
13
"a test" 13
"eins o" 1
"sieben" 7
"a test" : 13
"eins o" : 1
"sieben" : 7
"a test" : 13
"eins o" : 1
"sieben" : 8
请按任意键继续. . .
- QMap简单用法
- QList、QMap简单嵌套使用
- QList、QMap简单嵌套使用
- QMap
- QMap
- QMap
- QML中类似QMap的用法
- Qt QMap
- QMap 记录
- Qt::QMap在for循环中使用erase的用法注意
- vector和QMap简单使用记忆qt中QPointF类型和CV中Point2f和Mat的使用细节,
- QMap的使用
- QMap与QHash
- QMapIterator遍历QMap
- QMap的相关操作
- QMap与QHash类
- 转QMap的使用
- QMap 的使用
- uva 120
- JavaScript 创建类/对象的几种方式
- C++ 学习过程2
- 【黑马程序员】银行业务调度系统
- 你真的懂defer了吗?
- QMap简单用法
- 编写求两个整数最大公约数的函数,并调用此函数求两个整数的最大公约数? 调用函数
- C可变参数函数 实现
- 代理模式详解
- MFC ATL和OCX控件在静态页面可以调用方法,在apache项目中无法调用或报错“对象不支持属性或方法”
- acm 1126 看电视
- HttpServletRequest, Action, JSP间所传参数的总结
- 装饰模式详解
- 编写判定闰年的函数,并调用此函数判定某一年是否是闰年。