在C++

2015-05-27 90 views
0

在C構建QHash與QStringList中++我想建立一個專門的QHash這樣的:在C++

QHash<QString, QStringList> myhash; 

,這樣我可以存儲這種類型的數據:

QHash key QStringList values 
---------- ------------------ 
A   1 
      2 
      3 
B   5 
      6 

我有使用C++語法來正確構建散列以及如何檢索散列值。例如,如果給定B,我希望循環並返回5,6。

這是我在邏輯黑客試圖追加到散時,一個新的密鑰,值對加入:

QHash<QString, QStringList> myhash; 

key = "A"; 
value = "2"; 

if (myhash.contains(key)) { 
    QStringList mylist = myhash.value(key);  
    mylist.append(value);  
} else { 
    QStringList mylist; 
    mylist.append(value); 
    myhash.insert(key, mylist); 
} 

我不確定如果這個工程,因爲我一直沒能夠爲myhash創建檢索循環邏輯。

任何人都可以幫助我建立和檢索這樣一個QHash的數據?

+0

panofish,不完全是你的任務明確。請提供A的搜索結果,請添加C,它會返回什麼? – AlexanderVX

回答

1

我認爲,所有你需要做的值添加到您的QHash一個QStringList中是:

QStringList & mylist = myhash[key]; // will create and insert an empty QStringList if necessary 
mylist.append(value);