gpt4 book ai didi

java - HashMap 中公共(public)值的返回键

转载 作者:行者123 更新时间:2023-12-01 04:49:20 24 4
gpt4 key购买 nike

我有一个 HashMap 。多个键具有相同的值。找到 的最佳方法是什么

重复值的键,无需迭代。 ?

阅读this文档感觉没有它的功能。

注意:键|值对是Int类型

最佳答案

无论怎样,您最终都会迭代该集合。在某些库中,迭代可能是隐藏的,但它必然存在。

您可以轻松编写一个简单的方法来完成您的需要:

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;
}

Demo on ideone .

关于java - HashMap 中公共(public)值的返回键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15249190/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com