![](/img/trans.png)
[英]How can I get a specific attribute value for all the keys contained in a HashMap?
[英]How can i return the keys of a specific value in Hashmap?
我的HashMap中有以下条目
<key1,value1>
<key2,value2>
<key3,value2>
<key4,value4>
<key5,value2>
我想找到所有包含值“ value2”的键。 答案是一个包含以下键的KeySet:{key2,key3,key4}
是否有可能在HashMap中完成? 谢谢
Map应该以通过键访问值的方式使用,但似乎您是在反向进行。
如果您确定自己在做什么,则没有好的方法可以完成。 遍历地图并将密钥存储在单独的列表中。
详细了解Gauva的Multimap ,它可能适合您的要求。
我想找到所有包含值“ value2”的键。 答案是一个包含以下键的KeySet:{key2,key3,key4}
两种选择:
只是迭代地图的条目,并检查当前条目的值是否等于“ value2”,然后将其添加到Set中。 尝试这个
Set<String> keySet = new HashSet<String>();
for (Map.Entry<String, String> entry : map.entrySet())
{
if(entry.getValue().equals("value2")
{
keySet.add(entry.getKey());
}
}
我猜没有其他选择,因为您的地图中有重复的值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.