QMap<Key, T>是Qt的通用容器类之一。它存储(键、值)对,并提供与键相关联的值的快速查找。
QMap和QHash提供了非常相似的功能,他们的差异是:
- QHash提供了比QMap更快的查找速度。(详情请参阅算法复杂性。)
- 在QHash上迭代时,项目的顺序是任意的。而使用QMap时,项总是按键排序。
- QHash的键类型必须提供operator==()和全局QHash(key)函数。QMap的键类型必须提供操作符<(),以指定全序顺序。从Qt5.8.1版本开始,使用指针类型作为键也是安全的,即使底层操作符<()没有提供全序关系。
(以上来自Qt帮助文档)
需要包含头文件:
#include <QMap>
QMap中插入(键、值)对
QMap<QString, int> map;
map["LiMing"]= 14;
map.insert("BaiMing", 12);
map.insert("LiMuu", 20);
map.insert("LiMuu",100);
可以用两种方式插入。这里注意,往同样的键中重复写值时,新的值会将旧的值替代,LiMuu此时的值为100。如果想重复写同样的键,可以使用insertMulti()
函数。例如:
map.insert("LiMuu", 20);
map.insertMulti("LiMuu