2013-08-02 71 views
0

我是Android開發新手,我需要一個小技巧來找到解決問題的方法。在Android中迭代HashMap的問題

我有一個HashMap,其中包括一些頻率爲keys,振幅爲values

private Map<Integer, Integer> hashMap = new HashMap<Integer, Integer>(); 
hashMap.put(20, 32767); 
hashMap.put(32, 32767); 
hashMap.put(64, 32767); 
hashMap.put(125, 6000); 

我希望系統重複此HashMap,每一次它應該基於頻率和幅度的基調,並詢問用戶是否他聽到這口氣。如果是的話,那麼我們移動到hashmap的下一個條目,如果不是,那麼我們增加幅度並且以增加的幅度再次生成音調並且再次向用戶詢問相同的問題。

我做了一個for循環迭代哈希映射的條目,也使用Iterator但問題是它顯示了第一次迭代的所有警報。

任何人都可以幫忙嗎?

編輯:

這是迭代碼:

for (Map.Entry<Integer,Integer> entry : hashMap.entrySet()) { 
    freqOfTone = entry.getKey(); 
    amplitude = entry.getValue(); 
    startCalibration(); 
} 
+3

顯示您的迭代代碼。而且,我不確定你想要一個哈希映射。你可能想要一個'Pair'類或類似的東西。 – keyser

+0

贊Keyser plz提供代碼 – PedroAGSantos

+0

迭代看起來不錯..預期的行爲是什麼? – sanbhat

回答

0

大概要使用這樣的事情?

for(int key:hashMap.keySet()) 
{ 
    int val = hashMap.get(key)-1; 
    do 
    { 
     val++; 
     //Play sound  
    }while(!didYouHereItDialog()); 
    hashMap.put(key,val); 
}