Java Map从价值中获取关键

You*_*end 0 java hashmap

下面是我的代码...

Map<Integer, String> MyType = sessionInfo.getType();
//{2=somename} 
Run Code Online (Sandbox Code Playgroud)

我试图从值中获取键...不运行任何循环....有可能吗?

MyType.get("somename") // should output 2` 
Run Code Online (Sandbox Code Playgroud)

小智 5

与从键中获取值相比,从Hashtable或HashMap中获取值并不容易,因为Hash Map或Hashtable不会在Java中的Map内部在键与值之间实现一对一的映射。实际上,Map允许将相同的值映射到HashMap,Hashtable或任何其他Map实现中的多个键上。

        String key= null;
        String value="somename";
        for(Map.Entry entry: MyType.entrySet()){
            if(value.equals(entry.getValue())){
                key = entry.getKey();
                break; //breaking because its one to one map
            }
        }
Run Code Online (Sandbox Code Playgroud)