Qt QHash 和QMap 区别
来源:互联网 发布:小栈学编程 编辑:程序博客网 时间:2024/05/19 13:45
QMap提供了一个从类项为key的键到类项为T的直的映射,通常所存储的数据类型是一个键对应一个直,并且按照Key的次序存储数据,
这个类也支持一键多值的情况,用类QMultiMap
QHash具有和QMap几乎完全一样的APi,此类维护这一张哈希表,表的大小和数据项是自适应的,QHash是以任意的顺序住址他的数据,,当然了他也是可以支持一键多值的,QMultiHash
两种之间的区别是:
QHash查找速度上显著于QMap
QHash以任意的方式进行存储,而QMap则是以key顺序进行存储
Qhash 的键类型必须提供operator==()和yige 全局的qHash(key)函数。而QMap的键类型key必须提供operator<()函数
他们同样也是有两种风格的迭代容器。用来进行遍历的。。
STL 风格的
QMap<key,T> QMap<key,T>::const_iterator QMap<key,T>::iterator//同样中间那个也是只读的,最后那个是读写的。
下面以一个例子来进行说明:
#include <QDebug>
int main(int argc, char *argv[])
{
QMap<QString, QString> map;
map.insert("beijing", "111");
map.insert("shanghai", "021");
map.insert("tianjin", "022");
map.insert("chongqing", "023");
map.insert("jinan", "0531");
map.insert("wuhan", "027");
QMap<QString, QString>::const_iterator i;
for( i=map.constBegin(); i!=map.constEnd(); ++i)
qDebug() << i.key() <<" " << i.value();
QMap<QString, QString>::iterator mi;
mi = map.find("beijing");
if(mi != map.end())
mi.value() = "010";
QMap<QString, QString>::const_iterator modi;
qDebug() << "";
for( modi=map.constBegin(); modi!=map.constEnd(); ++modi)
qDebug() << modi.key() <<" " << modi.value();
return 0;
}
int main(int argc, char *argv[])
{
QMap<QString, QString> map;
map.insert("beijing", "111");
map.insert("shanghai", "021");
map.insert("tianjin", "022");
map.insert("chongqing", "023");
map.insert("jinan", "0531");
map.insert("wuhan", "027");
QMap<QString, QString>::const_iterator i;
for( i=map.constBegin(); i!=map.constEnd(); ++i)
qDebug() << i.key() <<" " << i.value();
QMap<QString, QString>::iterator mi;
mi = map.find("beijing");
if(mi != map.end())
mi.value() = "010";
QMap<QString, QString>::const_iterator modi;
qDebug() << "";
for( modi=map.constBegin(); modi!=map.constEnd(); ++modi)
qDebug() << modi.key() <<" " << modi.value();
return 0;
}
- Qt QHash 和QMap 区别
- Qt QHash 和QMap 区别
- Qt:QHash和QMap区别
- qt之QHash和QMap的区别
- QMap 和 QHash 区别
- QHash 和QMap的区别
- QMap 和 QHash
- QMap和QHash
- Qt容器类 QMap QHash
- QMap类和QHash类
- Qt容器(QMap/QHash etc)遍历
- The QT container: QMap, QHash, QList
- Qt学习之路(37): Qt容器类之关联存储容器QMap<K, T>和QHash<K, T>
- QT容器类(三) 之 QMap、QHash
- Qt容器之QVector,QMap,QHash,QList等注意事项
- QMap与QHash
- QMap与QHash类
- QMap与QHash类
- Android开发指南-框架主题-安全和许可
- 矩阵相乘
- 运行 FreeSWITCH
- JS 日历控件 带小时分钟
- Qt QHash 和QMap 区别
- Qt QHash 和QMap 区别
- QQ密码破解
- 要进步
- 用于非面向对象的共享对象!
- 心里有些堵
- [转]模式识别领域的权威
- Debugging Freeswitch
- Sofia-SIP
- MySql中的char和varchar