从Singleton Map中获取Key - Java

时间:2014-03-22 15:43:40

标签: java map hashmap

我希望从SingletonMap的值中检索键

Map<String,String> map = Collections.singletonMap("key1", "value1");

我正在寻找一种基于价值获取密钥的简便方法。而不是我以前做过的方式。对于singleTon Map来说,我认为这是一个太多的开销。

public static List<String> getKey(String value, Map<String, String> map) 
{
    List<String> keys = new ArrayList<String>();
    for(Entry<String, String> entry:map.entrySet()) 
    {
        if(value.equals(entry.getValue())) 
        {
            keys.add(entry.getKey());
        }
    }
    return keys;
}

任何输入或建议都会有所帮助。

2 个答案:

答案 0 :(得分:5)

单身地图中只有一个条目,所以你可以这样做:

    Map<String,String> map = Collections.singletonMap("key1", "value1");

    String theOnlyKeyInTheMap = map.keySet().iterator().next();

答案 1 :(得分:0)

我不确定你为什么要这样,但我不认为这是可能的。您可以使用Guava Maps.transformEntries调用之类的代码使代码可读,并提供适当的变换器函数。