-2

我正在尝试进行一些自定义键绑定。如果按下整数,则使用哈希图发送命令。我遇到的问题是

  1. 它在执行命令[]
  2. 它多次发送命令。

编码:

for (String key : CustomKeys.keySet()) {
    Integer value = CustomKeys.get(key);
    if (keyIsPressed(value)) {
        print(CustomKeys.keySet().toString());
        break; //Tried to break it so it didnt send it mutiple times. didnt work
    }
}
4

2 回答 2

0

显然,您的哈希图中有重复的值,无论这一切是关于什么的。

于 2012-10-02T22:45:54.027 回答
0

如果我正确理解了您的问题,您想在按下值(地图中的值)时打印键(地图中的字符串)。如果您使用中断,它会在遇到时退出循环。如果您想检查地图中的重复值,请执行以下操作。

public static HashMap<String, Integer> CustomKeys = new HashMap<String, Integer>();
public HashSet<Integer> hs = new HashSet<>();
for (String key : CustomKeys.keySet()) {
        Integer value = CustomKeys.get(key);

         if(keyIsPressed(value)) {
           if(!hs.contains(value)) {
           hs.add(value);
            print(CustomKeys.keySet().toString());
}
 else {
sysout("duplicate");
}
        }
    }
于 2012-10-02T22:38:37.290 回答