Java从hashmap获取特定值

Java从hashmap获取特定值,java,string,hashmap,integer,Java,String,Hashmap,Integer,代码 所以我制作了一个包含字符串和整数的HashMap。我试过这么做 String combine = args[1] + " " + args[2] + " " + args[3] + " " + msg; int pn = Integer.valueOf(args[1]); int pollnumber = pn; polllist.put(combine, pollnumber); 这似乎不起作用,我放了一个else语句,当我知道我在hashmap中放了一

代码

所以我制作了一个包含字符串和整数的HashMap。我试过这么做

    String combine = args[1] + " " + args[2] + " " + args[3] + " " + msg;
    int pn = Integer.valueOf(args[1]);
    int pollnumber = pn;
    polllist.put(combine, pollnumber);

这似乎不起作用,我放了一个else语句,当我知道我在hashmap中放了一个等于args[1]的值时,它总是会触发。我试图找到整数值,但它似乎不起作用。如何获得字符串值。

您的字符串就是键。因此,您应该使用:

    if(polllist.containsValue(args[1]))
    {

    }
试试这个

 for (String key : polllist.keySet()) { 
     if(polllist.get(key).equals(yourInteger) ) 
         { 
           //do something 
         } 
  }
在设置值之前,您已将
String
转换为
int
,因此在查找值时必须执行相同的操作


另外,这是一种非常落后的使用HashMap的方法。当大多数查找发生在键上而不是值上时,HashMap执行得最好。您可以考虑只切换它们,如:<代码> HashMap < /代码>。但这需要整数是唯一的。

什么是hashmap声明语句?hashmap polllist=new hashmap();您需要提供所有相关的详细信息:显示声明hashmap的代码、在其中输入值的位置,以及显示如何运行程序以及作为
args[1]
传递的内容。并将其放在问题中(有一个“编辑”按钮),注释不是针对问题的一部分。假设
args
main
方法的
String[]
类型的单个参数,显然,值类型为
Integer
HashMap
将不包含类型为
String
的值。循环遍历整个hashmaps键集。对于每一个键,获取它的值。查看该值是否为您要查找的整数
`for(String key:polllist.keySet()){if(polllist.get(key).equals(yourInteger)){//do something}}`这假设整数在pollist中只存在一次,或者至少您只关心它至少存在一次。不,不。您正在遍历整个hashmap。无论何时遇到整数,if语句都为true。因此,您可以对hashmap中每次出现的整数执行任何操作。
 for (String key : polllist.keySet()) { 
     if(polllist.get(key).equals(yourInteger) ) 
         { 
           //do something 
         } 
  }
if(polllist.containsValue(Integer.valueOf(args[1])))