16.QT-QMap和QHash解析
映射关系.
- QMap会根据K来自动进行升序键排序
- QMap中的K类型必须重载operator <
QMap常用函数如下:
QMap示例:
打印:
示例:
在QMap类里也封装了一个 const_iterator 迭代类,也可以通过它来遍历整个QMap
示例如下:
QHash
- QHash原型为class QHash<K,T>,其中K表示键,T表示值,K和T属于映射关系.
- 和QMap不同的是,QHash中的键值对不会进行自动排序,而是更据Hash值存储
- QHash中的Key类型必须重载operator==
- QHash中的Key对象必须重载全局哈希函数qHash()
- 由于QHash通过Hash表存储,所以查找比QMap快
QHash常用函数和QMap类似,示例如下:
运行打印:
QHash的迭代器QHashIterator类用法,和QMap的使用方法一样.
QHash内部也封装了一个 const_iterator 迭代类,和QMap的使用方法也一样,比如:
<span "="" src="https://images2018.cnblogs.com/blog/1182576/201805/1182576-20180503161717657-1312120486.png">