2013-08-02 48 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); 
}