最佳答案
无论怎样,您最终都会迭代该集合。在某些库中,迭代可能是隐藏的,但它必然存在。
您可以轻松编写一个简单的方法来完成您的需要:
public static <K,V> Set<K> keysOfDupValues(Map<K,V> m) {
Set<K> res = new HashSet<K>();
Map<V,K> seen = new HashMap<V,K>();
for (Map.Entry<K,V> e : m.entrySet()) {
V v = e.getValue();
K k = e.getKey();
if (seen.containsKey(v)) {
res.add(k);
res.add(seen.get(v));
} else {
seen.put(v, k);
}
}
return res;
}
关于java - HashMap 中公共(public)值的返回键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15249190/