对于 Java HashMap 上的每个循环

2022-09-02 11:06:08

我写的一个基本聊天程序有几个关键字,可以生成特殊操作,图像,消息等。我将所有关键字和特殊功能存储在HashMap中。关键词是关键,功能是值。我想将用户输入与具有某种类型的循环的键进行比较。我已经尝试了我能想到的一切,但没有任何效果。这是我能弄清楚的:

myHashMap = <File Input>
for(String currentKey : <List of HashMap Keys>){
    if(user.getInput().equalsIgnoreCase(currentKey)){
        //Do related Value action
    }
}
...

我将不胜感激任何帮助。如果我忽略了类似的问题,或者答案很明显,请原谅我。


答案 1

如果您需要同时访问键和值,那么这是最有效的方法

    for(Entry<String, String> e : m.entrySet()) {
        String key = e.getKey();
        String value = e.getValue();
    }

答案 2

好吧,你可以写:

for(String currentKey : myHashMap.keySet()){

但这并不是使用哈希映射的最佳方式。

更好的方法是用全小写键填充,然后编写:myHashMap

theFunction = myHashMap.get(user.getInput().toLowerCase());

以检索函数(或者如果用户输入未出现在映射中)。null


推荐