我希望从 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;
}
任何意见或建议都会有帮助。
单例映射中只有一个条目,因此您可以这样做:
Map<String,String> map = Collections.singletonMap("key1", "value1");
String theOnlyKeyInTheMap = map.keySet().iterator().next();
我不确定你为什么想要这个,但我认为以任何其他方式这是不可能的。您可以使用诸如 Guava Maps.transformEntries 之类的调用(提供适当的转换器函数)来使代码可读。
CollectionUtils.getSingleOrNull(map.keySet())