QMap类和QHash类具有非常类似的功能,它们的差别仅在于:
QHash具有比QMap更快的查找速度。
QHash以任意的顺序存储数据项,而QMap总是按照键Key顺序存储数据。
QHash的键类型Key必须提供operator==()和一个全局的qHash(Key)函数,而QMap的键类型Key必须提供operator<()函数。
1.QMap类
QMap<Key,T>提供了一个从类型为Key的键到类型为T的值的映射。
通常,QMap存储的数据形式是一个键对应一个值,并且按照键Key的次序存储数据。为了能够支持一键多值的情况,QMap提供了QMap<Key,T>::insertMulti()和QMap<Key,T>::values()函数。
2.QHash类
QHash<Key,T>具有与QMap几乎完全相同的API。QHash维护着一张哈希表(Hash Table),哈希表的大小与QHash的数据项的数目相适应。
QHash以任意的顺序组织它的数据。当存储数据的顺序无关紧要时,建议使用QHash作为存放数据的容器。
QMap类和QHash类
最新推荐文章于 2024-07-11 08:36:43 发布