我希望从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;
}
任何输入或建议都会有所帮助。
答案 0 :(得分:5)
单身地图中只有一个条目,所以你可以这样做:
Map<String,String> map = Collections.singletonMap("key1", "value1");
String theOnlyKeyInTheMap = map.keySet().iterator().next();
答案 1 :(得分:0)
我不确定你为什么要这样,但我不认为这是可能的。您可以使用Guava Maps.transformEntries调用之类的代码使代码可读,并提供适当的变换器函数。