QMap QHash的选择(QString这种复杂的比较,哈希算法比map快很多)
QMap QHash有近乎相同的功能。很多资料里面介绍过他们之间的区别了。但是都没有说明在使用中如何选择他们。
实际上他们除了存储顺序的差别外,只有key操作的区别。
哈希算法是将包含较多信息的“key”转换成包含信息较少的“key的key”。通过“key的key”查找key,在通过key找到value。
所以选择上应该考虑如下几点
1:对于例如QString这种复杂的比较,哈希算法比map快很多。
2:整数型作为key,不是巨大量,实际上哈希也快不了多少。
3:哈希表需要额外消耗内存,若条目很多,但是条目本身很小,可能要消耗更多能存。
所以多数情况下,数值直接做对比,map就可以了。
如果需要比较的数据比较大,或者比较起来复杂,用hash
---------------------
作者:小舆儿
来源:CSDN
原文:https://blog.csdn.net/m15814478834/article/details/21725203
版权声明:本文为博主原创文章,转载请附上博文链接!