1. 程式人生 > >QMap QHash的選擇(QString這種複雜的比較,雜湊演算法比map快很多)

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
版權宣告:本文為博主原創文章,轉載請附上博文連結!